這題需要反轉 linked list。
LeetCode 題目連結
https://leetcode.com/problems/reverse-linked-list/
題目
Reverse a singly linked list.
Example:
Input: 1->2->3->4->5->NULL Output: 5->4->3->2->1->NULL
Follow up:
A linked list can be reversed either iteratively or recursively. Could you implement both?
Accept 作法
這題主要注意的地方是須給兩個位置分別是 cur 跟 prev,時間複雜度 O(n),空間複雜度O(1)。Runtime: 0 ms
Memory: 39.4 MB
Java 程式碼
class Solution { public ListNode reverseList(ListNode head) { ListNode cur = head; ListNode prev = null; while(cur !=null){ ListNode next = cur.next; cur.next = prev; prev = cur; cur = next; } return prev; } }
更多 LeetCode 相關資源
複習程式面試書籍
除了 LeetCode 練習外,我也入手了這本,題庫來自真正的面試,並非摘自教科書。它們反映出頂尖公司真正會出的題目,你可以藉此做好充分準備。
需要的話可以看看,寫得很仔細。
需要的話可以看看,寫得很仔細。
沒有留言:
張貼留言