import 链表问题.ElemSN.ElemNode;
public class ElemSN {
//链表节点
class ElemNode{
Integer value;
ElemNode next;
public ElemNode() {
}
}
//创建链表
public ElemNode createLink(int arr[]) {
ElemNode head = null;
ElemNode p = null;
ElemNode tail = null;
for (int i = 0; i < arr.length; i++) {
p = new ElemNode();
p.value = arr[i];
p.next = null;
if(head == null) {
head = p;
tail = p;
}
tail = tail.next = p;
}
return head;
}
//逆置链表
public ElemNode inversionLink(ElemNode head){
ElemNode n1 = head;
ElemNode n2 = head.next;
ElemNode n3 = null;
n1.next = null;
while(n2 != null) {
n3 = n2.next;
n2.next = n1;
n1 = n2;
n2 = n3;
}
return n1;
}
//输出链表
public void printLink(ElemNode head) {
for(ElemNode p = head; p != null; p = p.next ) {
System.out.print(p.value+" ");
}
System.out.println();
}
}
class Test {
public static void main(String[] args) {
int arr[] = {3,2,5,7,8,9,9};
ElemSN elemSN = new ElemSN();
ElemNode head = null;
//创建输出链表
head = elemSN.createLink(arr);
elemSN.printLink(head);
//逆置链表
head = elemSN.inversionLink(head);
elemSN.printLink(head);
}
}
创建输出逆置链表
最新推荐文章于 2022-07-30 18:06:49 发布