leetcode 解題
Two Sum
給定一個數組,找出兩個數值會等於指定的數值。
解法
透過hashtable
,算出自己與目標值的差找尋另外一對,
若第一次遍歷沒碰到另一對,就把自己放入hashtable
,遍歷另外一對則返回結果。
Binary Tree Inorder Traversal
中序遍歷樹狀結構,要求透過迭代的方式遍歷。
解法
透過堆疊迭代,建立兩個迴圈分別為往左(內迴圈)與往右(外迴圈)
在迭代過程當中內迴圈會不斷往左直到NULL
,之後往右。
堆疊的內容物總是左邊,依序由葉節點慢慢回到根,過程當中會往右走到底,
之後退回一個節點,直到遍歷完成。
Generate Parentheses
給定括弧對數量,並且產生合法的括弧對。
解法
透過回溯法產生有效序列,並且計算左右括號的數量用來產生可走的下一步, 每次只補上合法的字元直到滿足字串長度。
LeetCode Hash Table Stack Tree