二叉树镜像


二叉树的镜像

        8
   6        10            
5    7   9      11

        8
   10        6            
11    9   7      5

思路

对于此类题,我们可以将跟结点的左右子树进行反转,再分别最各自的左右子树进行反转

func MicrrorRecusively(root *treeNode) {
    if root == nil || (root.left == nil && root.right == nil) {
        return
    }
    root.left, root.right = root.right, root.left
    if root.left != nil {
        MicrrorRecusively(root.left)
    }
    if root.right != nil {
        MicrrorRecusively(root.right)
    }
}

文章作者: 陌无崖
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 陌无崖 !
 上一篇
栈的压入和弹出 栈的压入和弹出
判断序列2是否是序列1形成栈的一种弹出序列如序列1:1,2,3,4,5 序列2:4,5,3,2,1 对于以上弹出序列可用以下的压入弹出形成,因此是子序列push(1),push(2),push(3),push(4),pop(4),push(
下一篇 
计算机操作系统——进程和线程 计算机操作系统——进程和线程
进程的定义进程时具有一定功能的程序关于某个数据集合上的一次运行活动 为什么需要进程在传统的计算机运行程序时,往往一次只能运行一个程序,这样对于CPU是极度不公平的,有可能一个程序需要进行计算仅仅需要简单的运算,而大部分都会进行输入输出,因此
  目录