刷 leetcode 的都是怎么进行本地调试的?

2021 年 1 月 15 日
 waibunleung

如题,打算用 go 来刷题,但不确定本地应该怎么调试。因为某些题目是 leetcode 内部封装好了类的,比如链表和树,如果要自己本地调试的话,是不是还要自己手动实现链表和树这些数据结构?

求大佬解惑~

7644 次点击
所在节点    程序员
27 条回复
dcoder
2021 年 1 月 15 日
你如果 wrong answer 了,LC 会告诉你最近一次的 input
然后你把 input copy 下来, 在本地:
s = Solution()
result = s.processInput( input )
然后你在自己程序里, 加入 print 或者 断点 都行

"链表和树" 一般题目里有定义, 比如 class Node, 你 copy 到本地就是
afewok
2021 年 1 月 15 日
拿走不谢

```golang
type ListNode struct {
Val int
Next *ListNode
}

func showListNode(node *ListNode) {
if node == nil {
fmt.Println("node 为 nil")
return
}
for node != nil {
fmt.Printf("%v -> ", node.Val)
node = node.Next
}
fmt.Println("NULL")
}

type TreeNode struct {
Val int
Left *TreeNode
Right *TreeNode
}
```
sinxccc
2021 年 1 月 15 日
我倒是觉得尽量白板调试,然后重写重新提交。

毕竟刷 Leetcode 的目的单纯就是为了应付面试,实际面试的时候也不会给你机器上调试的机会。
jmc891205
2021 年 1 月 15 日
在 leetcode 里加 print 看 stdout 。。。
Yvette
2021 年 1 月 15 日
shiji
2021 年 1 月 15 日
大佬们大多是不需要 debug 的
即使需要,print 出来的信息也足够用了。
laike9m
2021 年 1 月 15 日
我之前就觉得 Cyberbrain 特别适合这个场景
https://github.com/laike9m/Cyberbrain

打算之后专门针对性地来优化一下
MasterCai
2021 年 1 月 15 日
装个 vscode 的 leetcode 插件,就直接提交根据报错信息调试,和本地调试差别不大就是受网络环境影响可能得稍微等会
rodrick
2021 年 1 月 15 日
vscode 的 leetcode 插件,不过只能根据报错信息调试比较麻烦
rwecho
2021 年 1 月 15 日
@sinxccc 白班调试是什么意思?就是看吗?
lewis89
2021 年 1 月 15 日
@rwecho #10 手写 testcase 用大脑推演... 白板编程就是纯粹用大脑去挑战机器
lewis89
2021 年 1 月 15 日
@rwecho #10 真实世界编程 肯定要写小的 test case 跟断言,不然写这种算法 +1 -1 改错了就麻烦了
zhongrs232
2021 年 1 月 15 日
vscode 的 leetcode debugger for c++插件,稍微研究一下很容易实现从文件输入测试用例和打断点调试
yzbythesea
2021 年 1 月 15 日
Leetcode 的题应该先在纸上写,而且最好做到一遍写好。确定无误以后,再敲进电脑里,在官网上跑。
zstone123
2021 年 1 月 15 日
就针对链表和树而言,要用的时候把结构复制一下。就是二楼那样不就完了。
Mithril
2021 年 1 月 15 日
leetcode 都已经被这帮想不出来面试题的搞成新的五年高考三年模拟了。。。
KuroNekoFan
2021 年 1 月 15 日
以前我是本地建个 html 跑,后来嫌麻烦就不这么做了,而且网页上有自定义 testcase input,你 console 也能在输出里看到,其实也足够 debug 了
bingoshe
2021 年 1 月 15 日
推荐使用 idea+LeetCode 插件,十分好用,它会自动下载原始代码,不用手动复制,本地运行自然也支持 debug 。
kosmgco
2021 年 1 月 15 日
数据结构这些都好说,题目给的注释里面都有。

还有一些是猜数字之类的,只给一个方法声明,没办法实现,也没办法在本地调试
cheshire
2021 年 1 月 15 日
用 go 刷的话还是得自己实现一下这些数据结构不然调起来太麻烦了。厚着脸皮推荐一下我自用的。https://www.github.com/Catorpilor/leetcode/tree/master/utils

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/745082

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX