zoukankan      html  css  js  c++  java
  • 练习题 (五)

    题目:

    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取得了最受欢迎的优势,肯定是他有难得的优点。但是谷歌确以此拒绝了他,我觉得这是谷歌的悲哀。

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

  • 相关阅读:
    HRBUST 1377 金明的预算方案
    51Nod 2649 完全背包
    计蒜客 T2129 采药
    计蒜客 T1408 矩形嵌套
    OpenJudge 2711 合唱队形
    51Nod 2080 最长上升子序列
    2021NUAA暑假集训 Day5 部分题解
    2021NUAA暑假集训 Day4 部分题解
    C++ 11 move constructor 何时调用?
    老外这样说英文
  • 原文地址:https://www.cnblogs.com/ender-cd/p/4612419.html
Copyright © 2011-2022 走看看