拿到链表操作的函数,正准备自己测试一下,突然发现竟然不知道要如何将数组输入变成链表,很尴尬,这篇记录如何创建样例链表。
class ListNode {
int val;
ListNode next;
ListNode(int x) {
val = x;
}
// 递归方式添加结点
public void add(int x){
ListNode node = new ListNode(x);
if(this.next == null){
this.next = node;
}else {
this.next.add(x);
}
}
// 递归打印链表
public void print(){
System.out.print(this.val);
if(this.next != null){
System.out.print("->");
this.next.print();
}
}
}
在链表节点的定义类中,增加添加节点跟打印链表两个方法。
public class CreateLinkedList {
public static void main(String[] args) {
int[] input = {1, 2, 3, 4, 5};
ListNode head = null;
for (int i = 0; i < input.length; i++) {
if(head == null){
head = new ListNode(input[i]);
}else {
head.add(input[i]);
}
}
head.print(); // 1->2->3->4->5
}
这样便创建出这么一个链表 1->2->3->4->5
,后面就可以进行下一步的链表算法学习啦!