# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution(object):
def invertTree(self, root):
"""
:type root: TreeNode
:rtype: TreeNode
"""
if not root:
return
tmp = root.left
root.left = root.right
root.right = tmp
self.invertTree(root.left)
self.invertTree(root.right)
return root
思路分析
一开始我一边递归一边交换结点,但结果是一直报错!
==》 后又想,找到最终要交换的结点,并交换之,再递归的调用。
一开始还想先交换,把整个树都交换好了。最后再前序遍历,输出list。结果,没看清题目,只需要返回root就行了。