原创 【leetcode】107. Binary Tree Level Order Traversal II

bfs,利用兩個隊列,分別保存當前層和下一層的元素。 注意輸出是從葉子到根節點,結點從左往右 /** * @author johnsondu * @time 19:56 15th Oct 201

原创 【leetcode】150. Evaluate Reverse Polish Notation

簡單的逆波蘭表達式,用棧模擬。 /** * @author johnsondu * @problem Evaluate Reverse Polish Notation * @url

原创 【hihocoder】1094. lost in the City

3*3的字符串旋轉三下,只得到90分,不知道代碼爲什麼會出現RA #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> using n

原创 【hihocoder】94. Binary Tree Inorder Traversal

樹的中序遍歷,提供迭代和非迭代版本 </pre><pre name="code" class="cpp">/** * @author johnsondu * @problem Binary Tree

原创 【leetcode】83. Remove Duplicates from Sorted List

採用兩個指針,一個指向不重複的前結點,一個指向當前結點,當出現值不同的node結點時,前結點移動到當前結點。注意當前結點指向鏈表尾時,也需要更新前結點到的後繼到鏈表尾。 /** * @author johnsondu

原创 【leetcode】82. Remove Duplicates from Sorted List II

新建立一個鏈表result,用來保存結果。在遍歷鏈表過程中,利用額外變量count,判斷當前值是否唯一。唯一則加入到result中。 需要同時更新pre和cur指針。 /** * @author johnsondu

原创 【leetcode】73. Set Matrix Zeroes

開個二維vector進行保存0所在的位置,然後通過便利存儲的位置置0。 注意,同時開兩個bool數組,來保存行列的清零情況,以免重複清零。 <pre name="code" class="cpp">/** * @author

原创 【leetcode】165. Compare Version Numbers

轉換成int處理,由於存入vector,要處理容器匹配問題, 因此需要進行去除後綴0 </pre><pre name="code" class="cpp">/** * @author johnsondu * @ti

原创 【hihocoder】1237 : Farthest Point ->微軟2016校招在線筆試題

注意以圓點靠左,x的座標軸 需要用ceil,向前進位 以圓點靠右,x的座標要用floor 以圓點靠上,y的座標要用floor 以圓點靠下,y的座標要用ceil 同時由於要輸出x最大,x弱相等,y最大,所以從x最大開始遍歷,避免大量比較 /

原创 【leetcode】22. Generate Parentheses

dfs,只要 ( 的數量小於 ) 的數量,即可以不斷的dfs /** * @author johnsondu * @problem Generate Parentheses * @url

原创 【leetcode】16. 3Sum Closest

思路:首先排序,然後枚舉第一個元素,之後對另外兩個元素進行夾逼, 同時不斷計算最優值。2個地方可以優化:已經枚舉過的相同的元素可以跳過, 其次,有3個值剛好等於target可以直接返回 /** * @author j

原创 【leetcode】79. Word Search

簡單的dfs /** * @author johnsondu * @time 20:01 8th Oct 2015 * @type dfs * @url

原创 【leetcode】119. Pascal's Triangle II

構建Pascal三角形,使用O(k)的空間 /** * @author johnsondu * @problem Pascal's Triangle II * @time

原创 【leetcode】Merge k Sorted Lists(TLE)

先貼TLE的代碼。每次遍歷取出最小值 /** * @author johnsondu * @problem Merge k Sorted Lists * @url https

原创 【leetcode】15. 3sum

基本思路:排序,然後從第一個元素開始遍歷,期間用到夾逼原理。 同時由於要排除duplicate的答案,所以需要對每個連續相同的元素中,只處理一次。 參考網址:https://en.wikipedia.org/wiki/3SUM </pr