链表反转-学习笔记

思路:

迭代法: 

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 版权协议,转载请附上原文出处链接和本声明。
THE END
< <上一篇
下一篇>>