目 录

  • ListNode类
  • TreeNode类


参考:Java中的ListNode和TreeNode类 这是2个需要自定义的类,链表和二叉树。

ListNode类

public class ListNode {
    int val;
    ListNode next;
    ListNode() {}
    ListNode(int val) { this.val = val; }
    ListNode(int val, ListNode next) { this.val = val; this.next = next; }
}

链表的创建及遍历如下:

public class Solution {
    public static void main(String[] args) {
        ListNode head1 = new ListNode(0);//创建表头node
        ListNode nextNode;//创建遍历指针
        nextNode = head1;//指针指向表头
        for (int i = 1; i < 3; i++) {
            ListNode node = new ListNode(i);//创建新node
            nextNode.next = node;//将上一个node的next指向新node
            nextNode = node;//将指针指向新node
        }
        //遍历
        nextNode = head1;//指针指向表头
        while (nextNode != null) {//如果node存在
            System.out.println(nextNode.val);//打印val值
            nextNode = nextNode.next;//指针指向下一个node
        }
    }
}

TreeNode类

public class TreeNode {
	int val;
	TreeNode left;
	TreeNode right;
	TreeNode(int x) {
		val = x;
	}
}