侧边栏壁纸
博主头像
zzzgd博主等级

一忘皆空!

  • 累计撰写 22 篇文章
  • 累计创建 15 个标签
  • 累计收到 25 条评论

目 录CONTENT

文章目录

关于idea上LeetCode插件, java.lang.NoSuchMethodError: ‘ListNode ListNode.deserialize(java.lang.String)‘ 问题

zzzgd
2022-05-18 / 0 评论 / 0 点赞 / 311 阅读 / 1,119 字
温馨提示:
本文最后更新于 2022-05-18,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

如题, 刷到链表的题的时候, 遇到这个问题.

它自动生成的代码模板里有这个注释:

  //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; }
}

  • 附上插件模板设置
    • codeFileName $!velocityTool.camelCaseName(${question.titleSlug})
    • codeTemplate
${question.content}

  
package com.zgd.leetcode.editor.cn;

public class $!velocityTool.camelCaseName(${question.titleSlug}){

  /**
  * ${question.frontendQuestionId}
  * ${question.title}
  * 
  * 
  *
  * $!velocityTool.date()
  */  
  public static void main(String[] args) {
    Solution solution = new $!velocityTool.camelCaseName(${question.titleSlug})().new Solution();
  }
  
  ${question.code}
}

0c4c8faa84e542fdb02683ed59f3e3f1.png

0

评论区