查看: 2232| 回复: 14
跳转到指定楼层
上一主题 下一主题
收起左侧

[树/链表/图] 弱问为什么leetcode的二叉树在自己的电脑里实现不了?

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
比如
https://leetcode.com/problems/sa ... se-in-same-function
我把这个代码改动了一下,


from typing import Optional
class TreeNode:
    def __init__(self, val=0, left=None, right=None):
        self.val = val
        self.left = left
        self.right = right

class Solution:
    def isSameTree(self, p: Optional[TreeNode], q: Optional[TreeNode]) -> bool:
        
        if not p and not q:
            return True

        elif (p and not q) or (q and not p):
            return False

        return (
            self.isSameTree(p.left, q.left) and
            (p.val == q.val) and
            self.isSameTree(p.right, q.right)
        )

print(Solution.isSameTree([1,2,3],[1,2,3]))        


在自己的电脑上运行了一下(WSL python3),  得到了(假如叫p100-2.py)

raceback (most recent call last):
  File "p100-2.py", line 24, in <module>
    print(Solution.isSameTree([1,2,3],[1,2,3]))
TypeError: isSameTree() missing 1 required positional argument: 'q

怎么办呢? 想在本地实现增加理解...谢谢

评分

参与人数 1大米 +2 收起 理由
14417335 + 2 给你点个赞!

查看全部评分


上一篇:Leetcode Premium 开学福利 @ $99/ 每年 需要@gatech.edu 邮箱 (Georgia Tech)
下一篇:有没有朋友在seattleU读cs bridge+cs master啊
全局:
你需要自己写一个从list到treeNode的转换函数。lc帮你做了这件事情,local要自己做

补充内容 (2022-09-21 08:05 +08:00):
我没注意到群主直接用类名去invoke,那也要改一下
回复

使用道具 举报

全局:
Alpha256 发表于 2022-09-20 00:53:14
推荐本书?谢谢.

另外说楼上都不对,好像其他人也有问题(虽然程度可能不同)-.-
别找借口安慰自己了。。。人家说的都是对的只是因为你这里面bug太多而已。。
回复

使用道具 举报

推荐
cutehuazai 2022-9-20 15:42:54 | 只看该作者
全局:
楼上都说的不对,你isSameTree不是static method,所以你需要创建solution instance才能调用isSameTree,不然等于没有传self参数
回复

使用道具 举报

🔗
 楼主| Alpha256 2022-9-20 15:15:05 | 只看该作者
全局:
不喜欢leetcode在二叉树的这种做法,过于黑箱了 :(
回复

使用道具 举报

🔗
loveklmn 2022-9-20 15:31:38 | 只看该作者
全局:
还是缺乏思考,函数明明要的是 Optional[TreeNode], 传入一个 list[int]是不可能跑起来的
回复

使用道具 举报

🔗
cutehuazai 2022-9-20 15:43:53 | 只看该作者
全局:
所以就导致你参数错位了
回复

使用道具 举报

🔗
cutehuazai 2022-9-20 15:47:08 | 只看该作者
全局:
当然TreeNode类型想要传list也是肯定错的。leetcode是为了让你方便测试才用list的方式表达tree。而本地跑你需要自己传treeNode类型
回复

使用道具 举报

🔗
cutehuazai 2022-9-20 15:48:27 | 只看该作者
全局:
我觉得楼主会问这个问题很明显编程语言基础还很薄弱。建议编程语言基础再提高一点再刷题
回复

使用道具 举报

🔗
 楼主| Alpha256 2022-9-20 15:53:14 | 只看该作者
全局:
本帖最后由 Alpha256 于 2022-9-20 03:54 编辑
cutehuazai 发表于 2022-9-20 03:48
我觉得楼主会问这个问题很明显编程语言基础还很薄弱。建议编程语言基础再提高一点再刷题

推荐本书?谢谢.

另外说楼上都不对,好像其他人也有问题(虽然程度可能不同)-.-
回复

使用道具 举报

全局:
楼上说的对的……怎么可以用类名调用实例方法
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表