🚀 本题 LeetCode 传送门

    题目大意

    “经典””的反转二叉树的问题。

    解题思路

    还是用递归来解决,先递归调用反转根节点的左孩子,然后递归调用反转根节点的右孩子,然后左右交换根节点的左孩子和右孩子。

    代码

    1. package leetcode
    2. /**
    3. * Definition for a binary tree node.
    4. * type TreeNode struct {
    5. * Val int
    6. * Left *TreeNode
    7. * Right *TreeNode
    8. * }
    9. */
    10. func invertTree(root *TreeNode) *TreeNode {
    11. if root == nil {
    12. return nil
    13. }
    14. invertTree(root.Left)
    15. invertTree(root.Right)
    16. root.Left, root.Right = root.Right, root.Left
    17. return root
    18. }