每日一題 0223

2022-09-23 15:45:06 字數 775 閱讀 6315

(2022.02.23)二叉樹總結篇(1)

⼆叉樹題目的遞迴解法可以分兩類思路,

第⼀類是遍歷⼀遍⼆叉樹得出答案

第⼆類是通過分解問題計算出答案

這兩類思路分別對應著 回溯演算法核心框架 和 動態規劃核心框架。

⼆叉樹的所有問題,就是讓你在前中後序位置注入巧妙的**邏輯,去達到自己的目的。

104、二叉樹的最大深度問題

比較簡單

//使用臨時變數儲存當前深度時不要維護節點退出後的深度,即不需要index--,因為每一層退出,臨時變數銷毀

class solution

void tr**erse(treenode* node,int index)

index++;

tr**erse(node->left,index);

tr**erse(node->right,index);

}};//使用全域性變數儲存當前深度時,需要維護推出的深度,因為全域性變數使用了同乙個,在退出當前節點時,需要index--,獲得返回上一層節點的深度。

class solution

void tr**erse(treenode* node)

index++;

tr**erse(node->left);

tr**erse(node->right);

index--;

}};

每日一題 1

題目詳情 peter喜歡玩數字遊戲,但數獨這樣的遊戲對他來說太簡單了,於是他準備玩乙個難的遊戲。遊戲規則是在乙個n n的 裡填數,規則 對於每個輸入的n,從左上角開始,總是以對角線為起點,先橫著填,再豎著填。這裡給了一些樣例,請在樣例中找到規律並把這個n n的 列印出來吧。輸入描述 多組測試資料 資...

每日一題2018 3 21

leetcode 2 模擬十進位制運算考察單鏈表基本操作。題無難點,個人基礎需要提高。definition for singly linked list.struct listnode class solution while p while q if shi val s next null ret...

每日一題2018 3 22

leetcode 03 最長不重複子串 第一反應就是動態規劃。看到了網上的方法一。直接把問題簡化為找兩個重複字元間的最長距離,太巧妙了!class solution if i idx max locs s i i return max ling老師的方法二 仍舊轉化為動態規劃,但是為節省空間不再開個...