C/C++教程

Leetcode 226. 翻转二叉树

本文主要是介绍Leetcode 226. 翻转二叉树,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

226. 翻转二叉树 - 力扣(LeetCode) (leetcode-cn.com)

 

思路  递归:

1. 从根节点开始,递归遍历整个树。

2. 对根节点的左节点进行翻转,对根节点的右节点进行翻转。

3. 如果根节点左右节点已经翻转完成,我们只需要互换此根节点的左右节点即可。

 

/**
 * Definition for a binary tree node.
 * type TreeNode struct {
 *     Val int
 *     Left *TreeNode
 *     Right *TreeNode
 * }
 */
func invertTree(root *TreeNode) *TreeNode {
    if root!=nil{
        left:=invertTree(root.Left)
        right:=invertTree(root.Right)
        root.Left=right
        root.Right=left
    }else{
        return nil
    }
    return root
}

  

这篇关于Leetcode 226. 翻转二叉树的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!