头插法和尾插法创建链表
尾插法:
图中尾插法的思想主要是:
- 多建立一个节点类型的引用 s 指向头结点.
- 创建一个新的节点ai
- 将ai的地址给s所指节点的指针域(s.next)
- 使s指向新节点地址方便下次循环
import java.util.Scanner;
public class weicha {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String temp = in.next();
ListNode head = new ListNode();
ListNode end = head;
while(!temp.equals("#")){
ListNode node = new ListNode(temp);
end.next = node;
end = node;
temp = in.next();
}
}
}
头插法:
图中头插法的思想主要是:
先创建一个新的节点
4. 将 头结点指向的直接后继a1的地址 给 新节点的指针域.
5. 然后将 新节点的地址 给 头结点的指针域.
import java.util.Scanner;
public class toucha {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String temp = in.next();
ListNode head = new ListNode();
while(!temp.equals("#")){
ListNode node = new ListNode(temp);
node.next = head.next;
head.next = node;
temp = in.next();
}
}
}
在应用的过程中因为头插法的特殊形式,在倒序输出或者反转链表的题目中常用.