為了練習尋找實習時會碰到的問題,我用別人推薦的 LeetCode online judge。
希望能直接寫程式,不用事先編譯就能直接AC。
這是下面是我寫的 Binary Tree Preorder Traversal 的解法。
To practice future interview question, I use LeetCode online judge.
I am trying to type code directly on website without compile in other tool.
The following program is my Binary Tree Preorder Traversal solution.
編譯錯誤次數 Compile Error number: 0
嘗試次數 Try number: 3 (CE: 2, AC:1)
是否事先在其他工具編譯 if compile first in other tool: No
使用的程式語言 using programming language: C++
以前是否看過 seen this problem before: Yes
CE原因:
1. 宣告Stack的時候,用stack<TreeNode> nodes; 少一個分號,應該是stack<TreeNode*> nodes;
2. 其中一行忘記加分號
這個是Iterative版本! 請看這邊有遞迴版本~
使用stack簡直易如反掌啊~~~有他真好XD
點這裡看題目 Click here to see this Problem!
If you want to use (copy, paste or quote) my original article, please contact me through email. (autek.roy@gmail.com) If there is any mistake or comment, please let me know. :D
如要使用(複製貼上或轉載)作者原創文章, 請來信跟我聯絡。(autek.roy@gmail.com) 如果有發現任何的錯誤與建議請留言或跟我連絡。 : )
希望能直接寫程式,不用事先編譯就能直接AC。
這是下面是我寫的 Binary Tree Preorder Traversal 的解法。
To practice future interview question, I use LeetCode online judge.
I am trying to type code directly on website without compile in other tool.
The following program is my Binary Tree Preorder Traversal solution.
編譯錯誤次數 Compile Error number: 0
嘗試次數 Try number: 3 (CE: 2, AC:1)
是否事先在其他工具編譯 if compile first in other tool: No
使用的程式語言 using programming language: C++
以前是否看過 seen this problem before: Yes
CE原因:
1. 宣告Stack的時候,用stack<TreeNode> nodes; 少一個分號,應該是stack<TreeNode*> nodes;
2. 其中一行忘記加分號
這個是Iterative版本! 請看這邊有遞迴版本~
使用stack簡直易如反掌啊~~~有他真好XD
點這裡看題目 Click here to see this Problem!
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Definition for binary tree | |
* struct TreeNode { | |
* int val; | |
* TreeNode *left; | |
* TreeNode *right; | |
* TreeNode(int x) : val(x), left(NULL), right(NULL) {} | |
* }; | |
*/ | |
class Solution { | |
private: | |
vector<int> preOrder; | |
public: | |
vector<int> preorderTraversal(TreeNode *root) { | |
stack<TreeNode*> nodes; | |
if(root == NULL)//in case the input is empty | |
return preOrder; | |
nodes.push(root); | |
while(!nodes.empty()){ | |
TreeNode *tmpNode = nodes.top(); | |
//psuh the root's value into a vector | |
preOrder.push_back(tmpNode -> val); | |
nodes.pop();//pop the tmpNode from stack | |
//because statk is LIFO, the right node is latter than left node | |
if(tmpNode -> right != NULL) nodes.push(tmpNode -> right); | |
if(tmpNode -> left != NULL) nodes.push(tmpNode -> left); | |
} | |
return preOrder; | |
} | |
}; |
If you want to use (copy, paste or quote) my original article, please contact me through email. (autek.roy@gmail.com) If there is any mistake or comment, please let me know. :D
如要使用(複製貼上或轉載)作者原創文章, 請來信跟我聯絡。(autek.roy@gmail.com) 如果有發現任何的錯誤與建議請留言或跟我連絡。 : )
沒有留言:
張貼留言
請留下您的任何想法或建議!
Please leave any thought or comment!