翻转二叉树(Invert Binary Tree)

原创 2015年07月08日 12:54:26

最近翻转二叉树算法成为了热点算法,起因就是因为homebrew的作者去google面试的事件,然后业界又出现了一场撕逼大战:对于工作经验和算法能力哪个更重要?不想把战火进一步蔓延,所以在这我也不发表观点了,直接进入正题。


问题描述(直接copy自LeetCode):

Invert a binary tree.

     4
   /   \
  2     7
 / \   / \
1   3 6   9
to
     4
   /   \
  7     2
 / \   / \
9   6 3   1
这个算法其实不难,在LeetCode中的难易评级也是easy,算法的核心就是递归思想,下面直接上代码,也是笔者在LeetCode中的答案,因为LeetCode不支持oc,只能用js了

/**
 * Definition for a binary tree node.
 * function TreeNode(val) {
 *     this.val = val;
 *     this.left = this.right = null;
 * }
 */
/**
 * @param {TreeNode} root
 * @return {TreeNode}
 */
var invertTree = function(root) {
    if(root === null){
        return null;
    }
    root.left = invertTree(root.left);
    root.right = invertTree(root.right);
     
    var tempNode = root.left;
    root.left = root.right;
    root.right = tempNode;
    return root;
};



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

[LeetCode] Invert Binary Tree - 二叉树翻转系列问题

目录: Binary Tree Level Order Traversal - 二叉树层次遍历 BFS 题目背景是MaxHowell(他是苹果电脑最受欢迎的homebrew程序作者)去Google面试...

LintCode --invert-binary-tree(翻转二叉树)

LintCode --invert-binary-tree(翻转二叉树) 原题链接:http://www.lintcode.com/zh-cn/problem/invert-binary-tre...

leetcode 226 Invert Binary Tree 翻转二叉树

大牛没有能做出来的题,我们要好好做一做     Invert a binary tree. 4 / \ 2 7 / \ / \ 1 3 6 9 to ...

LeetCode 226 Invert Binary Tree(转换二叉树)

翻译将下图中上面的二叉树转换为下面的形式,具体为每个左孩子节点和右孩子节点互换位置。原文如上图分析每次关于树的题目出错都在于边界条件上……所以这次仔细多想了一遍:void swapNode(TreeN...
  • NoMasp
  • NoMasp
  • 2015-12-27 12:31
  • 2493

PAT (Advanced Level) Practise 1102. Invert a Binary Tree (25) 二叉树的层序和中序遍历

1102. Invert a Binary Tree (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 1...

二叉树详解 binary tree

  • 2012-02-28 21:01
  • 50KB
  • 下载

1102.Invert a Binary Tree (25)[树的遍历]

1. 原题: https://www.patest.cn/contests/pat-a-practise/1102 2. 思路: 题意:树的遍历题。 给出一颗二叉树,输出反转后的层序和中序。 思路: ...

Leetcode 103 ,Binary Tree Zigzag Level Order Traversal(二叉树Z形分层遍历)

一,问题描述1,1,给定一棵二叉树,从上到下,进行Z字行分层遍历的,即:本层的话从左打到右,那么下层就是从右到左,最后输出结果。2,例如: 3,解题思路: 这题和第102题解法类似,对10...

114 Flatten Binary Tree to Linked List 二叉树到单链表的扁平化处理

给定一个二叉树,在已有的空间内进行扁平化生成一个单链表

[LeetCode] Binary Tree Paths - 二叉树基础系列题目

题目概述:Binary Tree Paths - 二叉树路径 Given a binary tree, return all root-to-leaf paths. For example, give...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)