知識點:二叉樹
題目
給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。
如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。
示例1
輸入:
1
1/ \ / \
2323[1,
2,3]
,[1,
2,3]
輸出:
true
示例2
輸入:
1
1/ \
22[1,2]
,[1,null,
2]
輸出:
false
示例3
輸入:
1
1/ \ / \
2112[1,
2,1]
,[1,
1,2]
輸出:
false
解法
遞迴遍歷,比較
**
#include
#include
using
namespace std;
//definition for a binary tree node.
struct treenode
treenode
(int x)
:val
(x),
left
(nullptr),
right
(nullptr
)treenode
(int x, treenode *left, treenode *right)
:val
(x),
left
(left)
,right
(right)};
class
solution
else
if(p ==
nullptr
|| q ==
nullptr
)else
if(p-
>val != q-
>val)
else}}
;int
main()
今天也是愛zz的一天哦!
leetcode熱題100刷題筆記 2
62.不同路徑 64.最小路徑和 70.爬樓梯 這道題很容易看出來可以用dfs解決,但是其中有乙個容易迷惑的點,就是所謂的 最長路徑 並不一定經過根節點!因此,我們需要在dfs的過程中,對每乙個節點,計算其左子樹的高度l以及右子樹的高度r,那麼以當前節點為起點的路徑,經過的節點的最大值就是l r 1...
leetcode熱題100刷題筆記 5
96.不同的二叉搜尋樹 98.驗證二叉搜尋樹 101.對稱二叉樹 如果用遞迴的方法來寫,此題非常的簡單,是乙個基礎題,要熟悉的是非遞迴的迭代版本,利用棧來求解 資料結構如果學的足夠紮實,就應該知道這是乙個很經典的問題,其實質就是問你,按照1 n的順序入棧,出棧的序列有多少種,其實就是卡特蘭數,只要知...
Leetcode刷題筆記
1.兩數之和給定乙個整數陣列nums 和乙個目標值target,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。ps 你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。思路 用target減去nums中的每乙個數,並設立乙個字典來記錄對應的下標 class...