Skip to content

Commit 8ecbc80

Browse files
committed
regular leetcode
1 parent 522a7ca commit 8ecbc80

4 files changed

+162
-0
lines changed
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
###144. Binary Tree Preorder Traversal
2+
3+
题目:
4+
5+
<https://leetcode.com/problems/binary-tree-preorder-traversal/>
6+
7+
8+
难度:
9+
10+
Medium
11+
12+
Recursive
13+
14+
15+
```
16+
class Solution(object):
17+
def preorderTraversal(self, root):
18+
"""
19+
:type root: TreeNode
20+
:rtype: List[int]
21+
"""
22+
if root == None:
23+
return []
24+
res = []
25+
self.preorder(root,res)
26+
return res
27+
28+
29+
def preorder(self,root,res):
30+
if root == None:
31+
return
32+
res.append(root.val)
33+
self.preorder(root.left,res)
34+
self.preorder(root.right,res)
35+
```
36+
37+
38+
Iterative
39+
40+
41+
```
42+
class Solution(object):
43+
def preorderTraversal(self, root):
44+
"""
45+
:type root: TreeNode
46+
:rtype: List[int]
47+
"""
48+
if root == None:
49+
return []
50+
res = []
51+
52+
stack = []
53+
stack.append(root)
54+
while stack:
55+
node = stack.pop()
56+
res.append(node.val)
57+
if node.right:
58+
stack.append(node.right)
59+
if node.left:
60+
stack.append(node.left)
61+
return res
62+
63+
```

168._excel_sheet_column_title.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
###168. Excel Sheet Column Title
2+
3+
题目:
4+
5+
<https://leetcode.com/problems/excel-sheet-column-title/>
6+
7+
8+
难度:
9+
10+
Easy
11+
12+
依旧26进制的反击,不过这个反击我做的没之前那个好,看了hint
13+
14+
```
15+
class Solution(object):
16+
def convertToTitle(self, n):
17+
"""
18+
:type n: int
19+
:rtype: str
20+
"""
21+
ans = ''
22+
while n :
23+
ans = chr(ord('A') + (n - 1) % 26) + ans
24+
n = (n - 1) // 26
25+
return ans
26+
27+
```
28+

171._excel_sheet_column_number.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
###171. Excel Sheet Column Number
2+
3+
题目:
4+
5+
<https://leetcode.com/problems/excel-sheet-column-number/>
6+
7+
8+
难度:
9+
10+
Easy
11+
12+
13+
26进制的反击
14+
15+
```
16+
class Solution(object):
17+
def titleToNumber(self, s):
18+
"""
19+
:type s: str
20+
:rtype: int
21+
"""
22+
maps = {}
23+
for i in range(65,91):
24+
maps[chr(i)] = i - 64
25+
26+
lst = list(s)
27+
lst.reverse()
28+
num = 0
29+
for idx,item in enumerate(lst):
30+
num += maps[item] * (26 ** idx)
31+
return num
32+
33+
```
34+

199._binary_tree_right_side_view.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
###199. Binary Tree Right Side View
2+
3+
题目:
4+
5+
<https://leetcode.com/problems/binary-tree-right-side-view/>
6+
7+
8+
难度:
9+
10+
Medium
11+
12+
13+
还是在玩第102题,level order traversal.
14+
15+
```
16+
class Solution(object):
17+
def rightSideView(self, root):
18+
"""
19+
:type root: TreeNode
20+
:rtype: List[int]
21+
"""
22+
if root == None: return []
23+
24+
res = []
25+
curLevel = [root]
26+
while curLevel:
27+
nextLevel = []
28+
tmpRes = []
29+
for node in curLevel:
30+
tmpRes.append(node.val)
31+
if node.left: nextLevel.append(node.left)
32+
if node.right: nextLevel.append(node.right)
33+
res.append(tmpRes[-1])
34+
curLevel = nextLevel
35+
return res
36+
```
37+

0 commit comments

Comments
 (0)