更新一些比較有意思的leetcode題目,更多的題目還有答案更新的都是github 地址,代碼註釋部分都有關於題的思路,有疑問部分也能夠聯繫個人郵箱isysc1@163.com,互相交流共同進步。git
給定一個二叉樹和一個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上全部節點值相加等於目標和。github
說明: 葉子節點是指沒有子節點的節點。 示例: 給定以下二叉樹,以及目標和 sum = 22,bash
5
/ \
4 8
/ / \
11 13 4
/ \ \
7 2 1
複製代碼
返回 true, 由於存在目標和爲 22 的根節點到葉子節點的路徑 5->4->11->2。spa
112,答案和思路 → 點我code
二叉搜索樹中的兩個節點被錯誤地交換。cdn
請在不改變其結構的狀況下,恢復這棵樹。blog
示例 1:leetcode
輸入: [1,3,null,null,2]
1
/
3
\
2
輸出: [3,1,null,null,2]
3
/
1
\
2
複製代碼
示例 2:get
輸入: [3,1,4,null,null,2]
3
/ \
1 4
/
2
輸出: [2,1,4,null,null,3]
2
/ \
1 4
/
3
複製代碼
進階:博客
使用 O(n) 空間複雜度的解法很容易實現。
你能想出一個只使用常數空間的解決方案嗎?
99,答案和思路 → 點我
給定一個二叉樹,返回其節點值的鋸齒形層次遍歷。(即先從左往右,再從右往左進行下一層遍歷,以此類推,層與層之間交替進行)。
例如: 給定二叉樹 [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
複製代碼
返回鋸齒形層次遍歷以下:
[
[3],
[20,9],
[15,7]
]
複製代碼
103,答案和思路 → 點我