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