Reverse a linked list.
/** * Definition for ListNode. * public class ListNode { * int val; * ListNode next; * ListNode(int val) { * this.val = val; * this.next = null; * } * } */ public class Solution { /** * @param head: The head of linked list. * @return: The new head of reversed linked list. */ public ListNode reverse(ListNode head) { // write your code here if(head == null || head.next == null) return head; ListNode prev = null; ListNode curr = head; ListNode next = head.next; while(next != null){ curr.next = prev; prev = curr; curr = next; next = next.next; } curr.next = prev; return curr; } }