/*
*输入一个链表,反转链表后,输出链表的所有元素。
*/
public class ReverseList {
public ListNode reverseList(ListNode head) {
if(head == null)
return head;
ListNode pre = head;
ListNode cur = head.next;
ListNode next = null;
while(cur != null) {
next = cur.next;
cur.next = pre;
pre = cur;
cur = next;
}
head.next = null;
head = pre;
return head;
}
public ListNode getLinkedList(int num) {
ListNode head = new ListNode(0);
ListNode temp = null;
ListNode cur = null;
for(int i = 1;i < num;i ++) {
temp = new ListNode(i);
if(i == 1) {
head.next = temp;
}
else {
cur.next = temp;
}
cur = temp; //指针右移,暂存节点
}
return head;
}
public static void main(String[] args) {
// ListNode node = new ListNode(1);
// node.next = new ListNode(2);
// node.next.next = new ListNode(3);
// node.next.next.next = new ListNode(4);
// node.next.next.next.next = new ListNode(5);
ListNode node = new ReverseList().getLinkedList(5);
ListNode node2 = new ReverseList().reverseList(node);
while(node2 != null) {
System.out.println(node2.val);
node2 = node2.next;
}
}
}
《剑指offer》-反转单链表
最新推荐文章于 2022-05-05 10:42:52 发布