1 LinkedList
public ListNode reverseList(ListNode head) {
/* iterative solution */
ListNode prev = null;
while (head != null) {
ListNode next = head.next;
head.next = prev;
prev = head;
head = next;
}
return prev;
}
public ListNode reverseList(ListNode head) {
/* recursive solution */
return reverseListInt(head, null);
}
private ListNode reverseListInt(ListNode prev, ListNode head) {
if (head == null)
return prev;
ListNode next = head.next;
head.next = prev;
return reverseListInt(head, next);
}
Last updated