每日一題 0217

2022-09-21 21:03:11 字數 743 閱讀 7348

(2022.02.17)每日一題 二叉樹

遞迴不僅要考慮開始情況也要仔細考慮收斂的情況。

昨天對於各種遍歷的特性依舊思考的淺了些,如何利用不變的且簡單的特性去確定邊界是乙個值得好好思考的問題,陣列一定要充分利用其startindex和endindex,這樣可以更快的去確定乙個範圍。

class solution 

treenode* root = new treenode(preorder[prestart]);

//如果沒有左子樹的情況,或者沒有右子樹的情況,這就是為什麼先序和後序無法確定一顆二叉樹的原因

if(preorder[prestart+1] == postorder[postend-1])

int left_size = num2index[postorder[postend-1]] - num2index[preorder[prestart+1]];

root->left = converttree(preorder,postorder,prestart+1,prestart+left_size,poststart,poststart+left_size-1);

root->right = converttree(preorder,postorder,prestart+left_size+1,preend,poststart+left_size,postend-1);

return root;

}};

每日一題 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老師的方法二 仍舊轉化為動態規劃,但是為節省空間不再開個...