码迷,mamicode.com
首页 > 其他好文 > 详细

练习题 (五)

时间:2015-07-01 11:39:21      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:

题目:

Invert Binary Tree

Invert a binary tree.

     4
   /     2     7
 / \   / 1   3 6   9
to
     4
   /     7     2
 / \   / 9   6 3   1
解答:
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution:
    # @param {TreeNode} root
    # @return {TreeNode}
    def invertTree(self, root):
        if root is None:
            return None
        temp = root.left
        root.left = root.right
        root.right = temp
        
        self.invertTree(root.left)
        self.invertTree(root.right)
        return root

心得:

做这种面试题的时候,可以把二叉树的构造生成给省略掉,因为面试中,这不是重点,机考中,这是测试代码做的事情。

题目本身不难,但是繁琐。这里并不需要前序便利或者中序遍历或者后序遍历,因为遍历是把树的二叉树结构转化成线性结构。但是我们并不需要转化成线性结构。

大牛没有做出来,是因为大牛之所以为大牛,肯定是Think Diffirent的,根本没有去适应谷歌的面试。那么多的规划互联网上的软件的更新和适应工作环境的软件,就他设计出来的

homebrew取得了最受欢迎的优势,肯定是他有难得的优点。但是谷歌确以此拒绝了他,我觉得这是谷歌的悲哀。

当然,我作为菜鸟还是不要为大牛的前途担忧了。

练习题 (五)

标签:

原文地址:http://www.cnblogs.com/ender-cd/p/4612419.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!