看了一些关于链表的文章和视频,但都是讲链表的好处和怎么运转的。但代码部分没提,我就很懵b。
代码方法是我从LC上copy来的,但跑不起来,都是报错。
为什么public会有ListNode?这是关键字吗?搜了百度并不是,为什么这个能夹在方法和public中间?
ListNode方法调用时该传递数组类型实参吗?
能不能给个正确的样子怎么在main方法用syso打印输出跑起官方给的方法。
方法来源:leetcode中等两数之和官方java答案。
看了一些关于链表的文章和视频,但都是讲链表的好处和怎么运转的。但代码部分没提,我就很懵b。
代码方法是我从LC上copy来的,但跑不起来,都是报错。
为什么public会有ListNode?这是关键字吗?搜了百度并不是,为什么这个能夹在方法和public中间?
ListNode方法调用时该传递数组类型实参吗?
能不能给个正确的样子怎么在main方法用syso打印输出跑起官方给的方法。
方法来源:leetcode中等两数之和官方java答案。
少了一个 ListNode 类,把它放到 DemoMedium1 的同一个包中。
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
// 添加新的结点
public void add(int newval) {
ListNode newNode = new ListNode(newval);
if (this.next == null)
this.next = newNode;
else
this.next.add(newval);
}
// 打印链表
public void print() {
System.out.print(this.val);
if (this.next != null) {
System.out.print("-->");
this.next.print();
} else {
System.out.println();
}
}
}
测试如下:
public static void main(String[] args) {
ListNode listNode1 = new ListNode(1);
listNode1.add(2);
listNode1.add(3);
ListNode listNode2 = new ListNode(2);
listNode2.add(3);
listNode2.add(5);
System.out.println(addTwoNumbers(listNode1, listNode2).val);
}