关于java创建新链表,尾插法的代码展示,将输入的数一个一个插到链表尾端
节点定义及尾插法添加
package LeetCode;
import java.util.Scanner;
public class ListNode {
public int val;
public ListNode next;
public ListNode(int x) { val = x; next = null;} //带头节点链表,头节点不存储东西
public ListNode(){}
//初始化结点
public ListNode Initlink(ListNode head) { //初始化节点
head=new ListNode();
head.next=null;
return head;
}
//增加结点
public ListNode addNode(ListNode head) {
Scanner scanner = new Scanner(System.in);
int data = scanner.nextInt();
while(data != 999) { //输入999结束添加
ListNode pNode = new ListNode(data); //添加新节点
while (head.next != null) { //从头节点开始一直遍历到最后的结点
head = head.next;
}
head.next = pNode; //新节点加入链表末尾
data = scanner.nextInt(); //继续输入
}
return head;
}
//打印结点
public void PrintLink(ListNode head){
ListNode node = head.next;
while(node != null){
System.out.println(node.val);
node = node.next;
}
}
}
main函数测试
package LeetCode;
public class Qs1290 {
public static void main(String[] args) {
ListNode L = new ListNode();
System.out.println("请输入你要创建的结点:,输入999退出输入");
L.addNode(L);
L.PrintLink(L);
L.addNode(L);
L.PrintLink(L);
}
}
输出:
请输入你要创建的结点:,输入999退出输入
1
2
999
1
2
3
4
999
1
2
3
4