用尾接法将ArrayList中的数据生成链表
import java.util.ArrayList;
class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
public class text {
public static void main(String [] saa) {
ListNode p;
ArrayList<Integer> list=new ArrayList<Integer>();
list.add(5);
list.add(1);
list.add(4);
list.add(3);
list.add(7);
list.add(9);
list.add(2);
text obj=new text();
p=obj.createlist(list);;
while(p!=null) {
System.out.println(p.val);
p=p.next;
}
}
public ListNode createlist(ArrayList<Integer> list)
{
ListNode t=null,pHead=null;
if(list.isEmpty())
return null;
while(!list.isEmpty()) {
ListNode q=new ListNode(list.get(0));
if(pHead==null) {
t=q;
pHead=t;
list.remove(0);
}
else {
t.next=q;
t=q;
list.remove(0);
}
}
t=null;
return pHead;
}
}
结果:
5
1
4
3
7
9
2
头插法创建链表
package texts;
import java.util.ArrayList;
class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
public class text {
public static void main(String [] saa) {
ListNode p;
ArrayList<Integer> list=new ArrayList<Integer>();
list.add(5);
list.add(1);
list.add(4);
list.add(3);
list.add(7);
list.add(9);
list.add(2);
text obj=new text();
p=obj.createlist(list);
while(p!=null) {
System.out.println(p.val);
p=p.next;
}
}
public ListNode createlist(ArrayList<Integer> list)
{
ListNode first=null,pHead=new ListNode(-1);
if(list.isEmpty())
return null;
while(!list.isEmpty()) {
ListNode q=new ListNode(list.get(0));
if(pHead.next==null) {
first=q;
pHead.next=first;
list.remove(0);
}
else {
q.next=pHead.next;
pHead.next=q;
first=q;
list.remove(0);
}
}
first=null;
return pHead.next;
}
}
结果:
2
9
7
3
4
1
5