由买买提看人间百态

topics

全部话题 - 话题: topnode
(共0页)
t*********3
发帖数: 87
1
来自主题: JobHunting版 - 麻烦大家帮看看这段代码的问题
是leetcode的题Binary Tree Preorder Traversal
下面的代码能通过leetcode的测试,但是朋友看过说“代码有很大的问题”,然后着急
赶飞机就没来得及给我讲解。因为我之前都没有写过C++,所以也不太明白朋友的意思
。麻烦大家给我讲一下问题所在。我知道论坛里有个别技术牛人喜欢装X,说话挺不客
气的
,大家就“取其精华去其糟粕”只听他们的技术讲解就可以了。
其实我的疑问之一就是声明stack s;这句就这么直接写就行了吗?
class Solution {
public:
vector preorderTraversal(TreeNode* root) {
result.clear();
if(root == NULL) {return result;}
s.push(root);
preorder();
return result;
}

private:
stack s;
vect... 阅读全帖
a******n
发帖数: 103
2
来自主题: JobHunting版 - 麻烦大家帮看看这段代码的问题
iterative写在一个函数里面就可以了啊。
为什么要有preorder(void)?
private member s和result都可以直接写在function里面啊.
class Solution是leetcode测试程序接口,不能真当一个class。
给你改改:
class Solution{
public:
vector preorderTraversal(TreeNode* root) {
stack s;
vector result;
if (!root)
return result;
s.push(root);
while(!s.empty()) {
TreeNode * topNode = s.top();
result.push_back(topNode->val);
s.pop();
if(topNode->right != NULL) {
... 阅读全帖
(共0页)