Skip to content

Commit 39d651a

Browse files
author
Chris Wu
committed
no message
1 parent 85c9fe8 commit 39d651a

File tree

2 files changed

+24
-6
lines changed

2 files changed

+24
-6
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
"""
2+
In-order traversal means that: if there is a left node, visit it first; visit the current node; then if there is right node, visit it.
3+
In-order: Left->Current->Right
4+
Pre-order: Current->Left->Right
5+
Post-order: Left->Right->Current
6+
"""
7+
class Solution(object):
8+
def inorderTraversal(self, root):
9+
def helper(node):
10+
if not node: return
11+
helper(node.left)
12+
opt.append(node.val)
13+
helper(node.right)
14+
15+
opt = []
16+
helper(root)
17+
return opt
18+

problems/design-linked-list.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,21 @@ def __init__(self, val):
55

66
class MyLinkedList(object):
77
def __init__(self):
8-
self.l = []
8+
self.l = [] #trade space for speed
99

10-
def get(self, index):
10+
def get(self, index): #O(1)
1111
if index<0 or index>=len(self.l):
1212
return -1
1313
return self.l[index].val
1414

15-
def addAtHead(self, val):
15+
def addAtHead(self, val): #O(N), list extend takes O(N), <https://wiki.python.org/moin/TimeComplexity>.
1616
self.l = [Node(val)]+self.l
1717

18-
def addAtTail(self, val):
18+
def addAtTail(self, val): #O(N)
1919
self.l = self.l+[Node(val)]
2020

21-
def addAtIndex(self, index, val):
21+
def addAtIndex(self, index, val): #O(N)
2222
self.l = self.l[:index]+[Node(val)]+self.l[index:]
2323

24-
def deleteAtIndex(self, index):
24+
def deleteAtIndex(self, index): #O(N)
2525
self.l = self.l[:index]+self.l[index+1:]

0 commit comments

Comments
 (0)