package com.interview.algorithms.list; import com.interview.basics.model.collection.list.LinkedList; import com.interview.basics.model.collection.list.Node; /** * Created_By: stefanie * Date: 14-7-19 * Time: 下午5:52 */ public class C3_15_ListReverse { public static void reverseByLoop(LinkedList list){ Node current = null; Node next = list.getHead(); while(next != null){ Node nextnext = next.next; next.next = current; current = next; next = nextnext; } list.setHead(current); } public static void reverseRecursive(LinkedList list){ Node head = list.getHead(); while(head.next != null) head = head.next; reverseRecursive(list.getHead()).next = null; list.setHead(head); } public static Node reverseRecursive(Node node){ if(node.next == null) return node; reverseRecursive(node.next).next = node; return node; } }