链表反转-学习笔记
思路:
迭代法:
package test;
public class ReverseList {
static class ListNode {
int val;
ListNode next;
public ListNode(int val, ListNode next) {
this.val = val;
this.next = next;
}
}
public static ListNode iterate(ListNode head) {
ListNode pre = null, next;
ListNode curr = head;
while(curr!=null) {
next = curr.next;
curr.next=pre;
pre = curr;
curr = next;
}
return pre;
}
public static void main(String[] args) {
ListNode listNode5 = new ListNode(5, null);
ListNode listNode4 = new ListNode(4, listNode5);
ListNode listNode3 = new ListNode(3, listNode4);
ListNode listNode2 = new ListNode(2, listNode3);
ListNode listNode1 = new ListNode(1, listNode2);
ListNode iterate = iterate(listNode1);
System.out.println("操作成功");
}
}
版权声明:本文为s13353955305原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。