當前位置: 妍妍網 > 碼農

985碩士吐槽比亞迪工作:三本野雞大學老員工管理一群重點大學碩士,真不害臊。。。

2024-10-12碼農

一985碩士吐槽:入職笛子三個月,感受最深的就是老員工的學歷問題,三本野雞大學畢業,管理一堆985,211碩,真不害臊!

學歷好只能說明考試厲害,智商高,智商高的人情商不一定高,管理不一定需要很高的智商,但需要很高的情商,並不是所有的高學歷都擅長管理。老員工就算學歷不好,畢竟在公司幹了那麽多年,你一個新來的就因為學歷高,就想把別人給替代了?

--------------下面是今天的演算法題--------------

來看下今天的演算法題,這題是LeetCode的第226:翻轉二元樹。

問題描述


來源:LeetCode第226題

難度:簡單

給你一棵二元樹的根節點 root ,翻轉這棵二元樹,並返回其根節點。

範例1:

輸入 :root = [4,2,7,1,3,6,9]

輸出 :[4,7,2,9,6,3,1]

範例2:

輸入 :root = [2,1,3]

輸出 :[2,3,1]

  • 樹中節點數目範圍在 [0, 100] 內

  • -100 <= Node.val <= 100

  • 問題分析


    這題是讓反轉二元樹,我們只需要遍歷這棵二元樹的所有節點,然後交換每個節點的左右子節點即可。關於二元樹的遍歷方式非常多,所以這是一道很簡單的題。

    關於這道題還有一個有趣的故事,曾經業界大佬Max Howell去Google面試,由於沒有寫出二元樹翻轉,而被Google拒絕,Max Howell釋出的推文如下,意思就是:雖然我們90%的工程師都在用你寫的Homebrew,但你連二元樹翻轉都寫不出,直接滾蛋吧!

    JAVA:

    public TreeNode invertTree(TreeNode root){
    if (root == null)
    returnnull;
    // 先遞迴
    TreeNode left = invertTree(root.left);
    TreeNode right = invertTree(root.right);
    // 最後在交換
    root.left = right;
    root.right = left;
    return root;
    }

    C++:

    public:
    TreeNode *invertTree(TreeNode *root){
    if (root == nullptr)
    returnnullptr;
    // 先遞迴
    TreeNode *left = invertTree(root->left);
    TreeNode *right = invertTree(root->right);
    // 最後在交換
    root->left = right;
    root->right = left;
    return root;
    }

    Python:

    definvertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]:
    if root isNone:
    returnNone
    # 先遞迴
    left = self.invertTree(root.left)
    right = self.invertTree(root.right)
    # 最後在交換
    root.left, root.right = right, left
    return root