Node对象 内部有value和 next
接口设计
与arraylist很多接口相同,add remove clear等;
但是不能用继承,它们两个没有什么可以抽取到父类的公共代码。
但是可以用接口,只声明公共接口,不实现。
代码理解
Node为单独类,里面保存值和下一个node的引用。
public class Test {public static void main(String[] args) {// 创建了三个NodeListNode list1 = new ListNode(1);ListNode list2 = new ListNode(2);ListNode list3 = new ListNode(3);// 将他们串起来list1.next = list2; // 就相当于在类里面的 ListNode next = new ListNode(2);list2.next = list3;// 输出一下System.out.println(list1.next.next.val); //3}}class ListNode{int val;ListNode next; // 声明next变量为ListNode 用的时候再给它赋值 这是一个引用 类似指针public ListNode(int val){this.val = val;}}
练习 — 反转链表
https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof/
public class Solution {public ListNode reverseList(ListNode head){ListNode c = head;ListNode n = null;ListNode p = null;while(c!= null ){n = c.next;c.next = p;p = c;c = n;}return p;}}
