为了账号安全,请及时绑定邮箱和手机立即绑定

[leetcode] Binary Tree Preorder Traversal!

[leetcode] Binary Tree Preorder Traversal!

桃花长相依 2018-08-13 14:13:00
Binary Tree Preorder Traversal!参考【python实现二叉树】用递归写了下面的代码[javascript]var result = [];var preorderTraversal = function(root) {    if(root){         result.push(root.val);         preorderTraversal(root.left);         preorderTraversal(root.right);     }    return result; }; [python]class Solution(object):     result = []     def preorderTraversal(self, root):        if root:             self.result.append(root.val)             self.preorderTraversal(root.left)             self.preorderTraversal(root.right)             # print "self.result=", self.result        return self.result          [cpp]class Solution {public:     vector<int>res;     vector<int> preorderTraversal(TreeNode *root) {        if(root == NULL) return res;         res.push_back(root->val);         res = preorderTraversal(root->left);         res = preorderTraversal(root->right);        return res;     } };用 python 刷题时,出现错误,但改写成 cpp 后,就通过了...其实,想问的是:python 与 javascrip 错了?错哪了?
查看完整描述

1 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

Python, leetcode检测一个答案是通过多个测试用例进行测试的, 因此不能把result做成类变量,要把它变成实例变量

class Solution(object):
    def __init__(self):        self.result = []    def preorderTraversal(self, root):        if root:
            self.result.append(root.val)            self.preorderTraversal(root.left)            self.preorderTraversal(root.right)        return self.result


查看完整回答
反对 回复 2018-09-15
  • 1 回答
  • 0 关注
  • 743 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信