遍历1
Preorder Traversal (前序遍历) : root -> left preorder -> right preorder
Inorder Traversal (中序遍历): left inorder -> root -> right inorder
Postorder Traversal (后序遍历): left postorder -> right postorder -> root
遍历2
DFS(深度遍历): stack
BFS(广度遍历): queue (1. add None; 2. length of each level; 3. two queues)
class Solution:
def findBottomLeftValue(self, root: Optional[TreeNode]) -> int:
q = [root]
while len(q) != 0:
node = q.pop(0)
q.append(None)
left_value = node.val
while node != None:
if node.left != None:
q.append(node.left)
if node.right != None:
q.append(node.right)
node = q.pop(0)
return left_value