每周 ARTS 第 18 期

1. Algorithm

110. 平衡二叉樹(簡單)

描述:

給定一個二叉樹,判斷它是否是高度平衡的二叉樹。
本題中,一棵高度平衡二叉樹定義為:
一個二叉樹每個節(jié)點 的左右兩個子樹的高度差的絕對值不超過1。

示例:
給定二叉樹 [3,9,20,null,null,15,7]
    3
   / \
  9  20
    /  \
   15   7
 返回 true
思路:

平衡二叉樹的條件:

  • 左子樹是平衡二叉樹
  • 右子樹是平衡二叉樹
  • 左右子樹的高度差的絕對值不超過 1

深度優(yōu)先遍歷,遞歸求解樹的高度。終止條件是不滿足上述三個條件之一,二叉樹的最大深度可以參考第 114 題。

class Solution {
    public boolean isBalanced(TreeNode root) {
        return height(root) != -1;
    }
    
    private int height(TreeNode root) {
        if (root == null) {
            return 0;
        }
        int leftHeight = height(root.left);
        int rightHeight = height(root.right);
        if (leftHeight == -1 || rightHeight == -1 
                || Math.abs(leftHeight - rightHeight) > 1) {
            return -1;
        }
        return Math.max(leftHeight, rightHeight) + 1;
    }
}
分析:
  • 時間復(fù)雜度:O(n)
  • 空間復(fù)雜度:O(1)

2. Review

Basic Linux Commands for Beginners 為新手準備的 Linux 命令

Linux 是免費、開源的操作系統(tǒng)內(nèi)核,你可以修改 Linux 上的任何東西,并用自己的名字重新發(fā)布,比如 Ubuntu、Debian、Red Hat 等版本。

Linux 主要應(yīng)用于服務(wù)器上,世界上 90% 的服務(wù)器都運行 Linux 系統(tǒng),因為它安全、快速并且免費。Android 手機占據(jù)智能機的 80%,它也是基于 Linux 內(nèi)核。大多數(shù)的病毒出現(xiàn)在 Windows 上,而不是 Linux。

shell 是一個程序,它接收用戶的命令,并傳遞給系統(tǒng)執(zhí)行,然后顯示結(jié)果。Linux 有個命令行界面,是 shell 的主要交互部分。

接下來,作者列舉了一些基本的命令:cd/ls/pwd/mkdir/rm/touch/man/cp/mv/cat/sudo/echo/df/vi/tar/apt-get/chmod/ping 等。

3. Tip

oh my zsh 非常強大的 shell,擁有豐富的插件和主題,只支持 macOS 和 Linux。不愧是終極 Shell,提高 10x 效率沒問題。有時候一成不變挺悲哀的,嘗試折騰一下才有樂趣。Have a try, you will enjoy it.

4. Share

程序員應(yīng)該學習 Linux,理解設(shè)計理想,熟悉常用命令。對于高手來說,一個 Terminal 就夠了。在 macOs 或 Linux 下開發(fā),比 Windows 省心多了。首先沒有字符編碼的問題,其次 Unix-like 平臺上有非常多的開發(fā)工具,程序員用了絕對愛不釋手。另外,Unix-like 平臺上的軟件不像 Windows 系統(tǒng)上那樣流氓,而且不容易感染病毒。值得慶幸的是,Windows 10 內(nèi)置了 Linux,我們可以下載 Ubuntu 體驗。雖然是閹割版,但用來學習夠用了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容