Lc206_反轉單項鍊表
阿新 • • 發佈:2020-07-08
//反轉一個單鏈表。 -----迭代 // // 示例: // // 輸入: 1->2->3->4->5->NULL //輸出: 5->4->3->2->1->NULL // // 進階: //你可以迭代或遞迴地反轉連結串列。你能否用兩種方法解決這道題? // Related Topics 連結串列 package leetcode.editor.cn; import com.example.demo.ArrayConvertLinkedList; import com.example.demo.ListNode; import java.util.Stack; //Java:反轉連結串列 public class P206ReverseLinkedList { public static void main(String[] args) { Solution solution = new P206ReverseLinkedList().new Solution(); // TO TEST int[] array = {1, 2, 3, 4, 5}; ListNode head = ArrayConvertLinkedList.arrayToNode(array); head = solution.reverseList(head); ArrayConvertLinkedList.printNode(head); } //leetcode submit region begin(Prohibit modification and deletion) /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public ListNode reverseList(ListNode head) { ListNode prev = null; ListNode curr = head; while (curr != null) { ListNode nextTemp = curr.next; curr.next = prev; prev = curr; curr = nextTemp; } return prev; } } //leetcode submit region end(Prohibit modification and deletion) }