You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LeetCode中Python反转链表代码报语法错误求助,VS Code可正常运行

解决LeetCode中print(curr.data, end=" ")语法错误的问题

核心原因

你遇到的问题大概率是LeetCode的Python环境版本与VS Code不一致:

  • VS Code使用的是Python 3,print是内置函数,支持end参数控制输出结尾;
  • 如果LeetCode编辑器默认选中Python 2,print是语句而非函数,不支持end参数,直接写print(curr.data, end=" ")就会触发语法错误。

另外,LeetCode的链表类题目通常不需要手动实现Node类、输入处理和打印函数——平台会提供ListNode定义,并自动用测试用例调用核心函数,多余的代码也可能引发环境适配问题。

具体解决步骤

  1. 切换LeetCode的Python版本
    在LeetCode代码编辑器右上角,找到Python版本选择下拉框,切换为Python 3.x版本,原代码的print语句即可正常运行。

  2. 适配Python 2环境(若必须使用)
    若需保留Python 2环境,修改display_linked_list函数中的打印语句:

    def display_linked_list(head):
        curr = head
        while curr:
            # Python 2写法:用逗号结尾实现不换行
            print curr.data,
            curr = curr.next
        # Python 2打印空行
        print
    
  3. 按LeetCode题目要求提交代码
    反转链表类题目通常只需提交核心反转函数,无需完整输入输出逻辑。比如LeetCode 206题只需提交:

    # LeetCode会提供ListNode类,无需自行定义
    def reverseList(head):
        prev = None
        curr = head
        while curr:
            next_node = curr.next
            curr.next = prev
            prev = curr
            curr = next_node
        return prev
    

内容的提问来源于stack exchange,提问作者Ash22

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 14:47:20