fix and add · HyperLoco/AlgorithmsByPython@e124be7 · GitHub
Skip to content

Commit e124be7

Browse files
fix and add
增加了二叉树的遍历以及优化部分代码
1 parent 00576fd commit e124be7

4 files changed

Lines changed: 153 additions & 64 deletions

File tree

.idea/workspace.xml

Lines changed: 53 additions & 50 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Target Offer/二维数组查找.py

Lines changed: 2 additions & 1 deletion

Target Offer/替换空格.py

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,41 +20,35 @@ def replaceSpace1(self, s):
2020
return tempstr
2121

2222
# 简单代码替换
23+
# 在Python中str类型是不可变的类型, 使用replace语句会生成一个新的str, 原始的s还是带空格的str变量
2324
def replaceSpace2(self, s):
2425
if type(s) != str:
2526
return
2627
return s.replace(' ', '%20')
2728

2829
# 书中给的思路
30+
# 判断输入类型的时候,isinstance必须首先判断,因为如果输入为integer的话,没有len,就会直接报错
2931
def replaceSpace3(self, s):
30-
if type(s) != str:
31-
return
32-
if len(s) <= 0:
33-
return
32+
if not isinstance(s,str) or len(s) <= 0 or s == None:
33+
return ""
3434
spaceNum = 0
3535
for i in s:
3636
if i == " ":
3737
spaceNum += 1
3838

3939
newStrLen = len(s) + spaceNum * 2
4040
newStr = newStrLen * [None]
41-
indexOfOriginal = len(s) - 1
42-
indexOfNew = newStrLen - 1
41+
indexOfOriginal, indexOfNew = len(s) - 1, newStrLen - 1
4342
while indexOfNew >= 0 and indexOfNew >= indexOfOriginal:
4443
if s[indexOfOriginal] == ' ':
45-
newStr[indexOfNew] = '0'
46-
newStr[indexOfNew-1] = '2'
47-
newStr[indexOfNew-2] = '%'
44+
newStr[indexOfNew-2:indexOfNew+1] = ['%', '2', '0']
4845
indexOfNew -= 3
4946
indexOfOriginal -= 1
5047
else:
5148
newStr[indexOfNew] = s[indexOfOriginal]
5249
indexOfNew -= 1
5350
indexOfOriginal -= 1
54-
changedStr = ''
55-
for c in newStr:
56-
changedStr += c
57-
return changedStr
51+
return "".join(newStr)
5852

5953

6054
s = 'we are happy'
Lines changed: 91 additions & 0 deletions

0 commit comments

Comments
 (0)