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定义,并自动用测试用例调用核心函数,多余的代码也可能引发环境适配问题。
具体解决步骤
切换LeetCode的Python版本
在LeetCode代码编辑器右上角,找到Python版本选择下拉框,切换为Python 3.x版本,原代码的print语句即可正常运行。适配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按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
相关产品推荐
相关产品推荐

