題目
給定乙個二叉樹,判斷它是否是高度平衡的二叉樹。
本題中,一棵高度平衡二叉樹定義為:
乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過1。
示例 1:
給定二叉樹 [3,9,20,null,null,15,7]
3/ \
9 20
/ \
15 7
返回 true 。
示例 2:
給定二叉樹 [1,2,2,3,3,null,null,4,4]
1/ \
2 2
/ \3 3
/ \4 4
返回 false 。
思路:
從根節點開始分別拿到左子樹和右子樹的長度。然後判斷,如果兩長度之差大於1或小於-1則返回0,否則遞迴左子樹得到返回值,然後遞迴右子樹得到返回值,如果兩個返回值有乙個為0,則返回0;
**:
/**
* definition for a binary tree node.
* struct treenode ;
*/int
maxdeep
(struct treenode* root)
return ld>=rd?ld:rd;
}bool isbalanced
(struct treenode* root)
return1;
}
/**
* definition for a binary tree node.
* struct treenode ;
*/int
death
(struct treenode* root)
bool isbalanced
(struct treenode* root)
leetcode演算法練習
1014.最佳觀光組合 給定正整數陣列 a,a i 表示第 i 個觀光景點的評分,並且兩個景點 i 和 j 之間的距離為 j i。一對景點 i j 組成的觀光組合的得分為 a i a j i j 景點的評分之和減去它們兩者之間的距離。返回一對觀光景點能取得的最高分。示例 輸入 8,1,5,2,6 輸...
leetcode演算法練習
1111.有效括號的巢狀深度 有效括號字串 定義 對於每個左括號,都能找到與之對應的右括號,反之亦然。詳情參見題末 有效括號字串 部分。巢狀深度 depth 定義 即有效括號字串巢狀的層數,depth a 表示有效括號字串 a 的巢狀深度。詳情參見題末 巢狀深度 部分。給你乙個 有效括號字串 seq...
leetcode演算法練習 打家劫舍
題目 打家劫舍 你是乙個專業的小偷,計畫偷竊沿街的房屋。每間房內都藏有一定的現金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自動報警。給定乙個代表每個房屋存放金額的非負整數陣列,計算你在不觸動警報裝置的情況下,能夠偷竊到的最高金額。示...