如何在leetcode中修复java.lang.NoSuchMethodError

时间:2019-02-11 04:15:51

标签: java

代码以正确的输出在leetcode操场上编译并运行,但是在尝试运行代码后在编辑器中出现以下错误。

java.lang.NoSuchMethodError: 
ListNode.deserialize(Ljava/lang/String;)LListNode;
at __Deserializer__.toListNode(Unknown Source)
at line 92, __Driver__.main



import java.lang.*;
import java.io.*;
import java.util.*;
class ListNode {
  int val;
  ListNode next;
  ListNode(int x) { val = x; }
}

class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
    ListNode head = null;
    StringBuilder inputOne = new StringBuilder();
    StringBuilder inputTwo = new StringBuilder();

    String listNodeOne = "";
    String listNodeTwo = "";
    int listNodeOneResult;
    int listNodeTwoResult;
    int total;

    while(l1.next != null){
        listNodeOne += Integer.toString(l1.val);
        l1 = l1.next;
        if(l1.next == null){
            listNodeOne += Integer.toString(l1.val);            
        }
    }
    inputOne.append(listNodeOne);
    listNodeOne = inputOne.reverse().toString();
    listNodeOneResult = Integer.parseInt(listNodeOne);
    while(l2.next != null){
        listNodeTwo += Integer.toString(l1.val);
        l2 = l2.next;
        if(l2.next == null){
            listNodeOne += Integer.toString(l2.val);            
        }
    }
    inputTwo.append(listNodeTwo);
    listNodeTwo = inputTwo.reverse().toString();
    listNodeTwoResult = Integer.parseInt(listNodeTwo);
    total = listNodeOneResult + listNodeTwoResult;

    while(total > 0){
        if(head == null){
            head = new ListNode(total%10);
        } else {
            ListNode current = head;
            while(current.next != null){
                current = current.next;
            }
            current.next = new ListNode(total%10);
        }
        total = total / 10;
    }
    return head;   
}
}

我试图将驱动程序添加到问题中,但这也不起作用。在leetcode playgound和其他2个IDE中运行时,我得到了预期的输出。任何帮助将不胜感激,谢谢。

以下是我要解决的问题的链接: https://leetcode.com/problems/add-two-numbers/

要复制的步骤: 1.将代码从第一个import语句开始复制到最后一个括号。 2.粘贴到问题编辑器中。 3.单击“运行代码”,您将注意到错误 4.接下来单击“游乐场调试” 5.单击“运行代码”,您会注意到它会打印预期的输出

2 个答案:

答案 0 :(得分:0)

我在IDE和leetcode中运行了您的代码。我在两个地方都遇到了相同的错误-行NumberFormatException

listNodeTwoResult = Integer.parseInt(listNodeTwo);

listNodeTwo的值是一个空字符串"",显然不是整数,因此无法解析。您应该调试并修复此问题,然后从那里进行。

答案 1 :(得分:0)

做完一些研究后,我意识到我从包裹listnode类的问题中删除了评论,并且假定它可以用作参考,并且它不会被注释掉,所以会引起问题。谢谢大家的帮助。