1.二叉树的中序遍历
class Solution:
def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
ans = []
def dfs(node):
if node is None:
return
a = dfs(node.left)
ans.append(node.val)
b = dfs(node.right)
dfs(root)
return ans
2.翻转二叉树
前序的思路
1.先翻转当前状态的左右节点
2.遍历左
3.遍历右
class Solution:
def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]:
if root is None:
return None
root.left,root.right = root.right,root.left
self.invertTree(root.left)
self.invertTree(root.right)
return root