1、单链表的定义
class ListNode {
// -参考力扣节点定义
int val;
ListNode next;
ListNode() {}
ListNode(int val) { this.val = val; }
ListNode(int val, ListNode next) { this.val = val; this.next = next; }
}
2、单链表(没有头节点)的初始化和打印
public class mergeTwoLists {
public static void main(String[] args) {
// 1.初始化第一个链表
ListNode ln3 = new ListNode(3);
ListNode ln2 = new ListNode(2,ln3);
ListNode ln1 = new ListNode(1,ln2);
// 2.初始化第二个链表
ListNode ln22 = new ListNode(5);
ListNode ln11 = new ListNode(4,ln22);
// 3.打印某个链表
ListNode head = new ListNode(-1,ln1); // 手动添加头节点,这里打印第一个链表
ListNode p = head; // 辅助指针p,遍历链表
while (p.next != null){ // 注意while是先走到该节点,再打印该节点的值,只适用含头节点
p = p.next;
System.out.println(p.val);
}
}
}