如题, 刷到链表的题的时候, 遇到这个问题.
它自动生成的代码模板里有这个注释:
//leetcode submit region begin(Prohibit modification and deletion)
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public void deleteNode(ListNode node) {
于是我把它复制粘贴出来, 提交测试发现报错如标题
java.lang.NoSuchMethodError: 'ListNode ListNode.deserialize(java.lang.String)'
试着加上了这个deserialize方法, 还是不行.
然后我反而想了下它这个是怎么测试的, 它生成的方法也没有一个类似于数组的入参(然后我们再把数组转成链表), 入参直接就是ListNode. 那应该它那边就有这么个类ListNode
, 且这个类里就有这个反序列化方法, 它初始化测试用例的时候就已经传入的ListNode
本身
所以我们不应该把ListNode也作为代码传过去覆盖它自身的这个类, 这是提供给我们本地编译不报错的, 所以只需要把ListNode移到提交区外就行
//leetcode submit region end(Prohibit modification and deletion)
public class ListNode {
int val;
ListNode next;
ListNode(int x) { val = x; }
}