日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Leet Code OJ 328. Odd Even Linked List [Difficulty: Easy]

發布時間:2024/2/28 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Leet Code OJ 328. Odd Even Linked List [Difficulty: Easy] 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目:
Given a singly linked list, group all odd nodes together followed by the even nodes. Please note here we are talking about the node number and not the value in the nodes.

You should try to do it in place. The program should run in O(1) space complexity and O(nodes) time complexity.

Example:
Given 1->2->3->4->5->NULL,
return 1->3->5->2->4->NULL.

Note:
The relative order inside both the even and odd groups should remain as it was in the input.
The first node is considered odd, the second node even and so on …

翻譯:
給定一個單鏈表,把所有的奇數節點放到一起,所有的偶數節點放到單數節點的后面。請注意這里我們討論的是節點的編號的奇數偶數,而不是節點的值。
你應該直接在鏈表上去做。這個程序應該運行在O(1)的空間復雜度和O(節點數)的時間復雜度。
提示:這些奇數偶數區域中相關聯的前后順序,應該和輸入的時候一樣。第一個節點作為奇數節點,第二個作為偶數節點,由此類推。。。

分析:
本題比較容易出錯的地方,第一個是看錯題目,把編號的奇偶數看成節點值的奇偶數;第二個是移動節點時,對于next指針的處理上。如果沒有把next正確指向,有可能把鏈表變成循環列表,這個時候就會出現“Memory Limit Exceeded”這樣的錯誤了。下面的代碼創建了多個臨時變量,把奇數偶數節點分開為2個鏈表,最后再合并的做法,也是為了代碼清晰易讀,其實是可以有更精簡的寫法的,歡迎讀者補充。

代碼:

/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x) { val = x; }* }*/ public class Solution {public ListNode oddEvenList(ListNode head) {ListNode oddFirstNode = new ListNode(0);ListNode oddCurrentNode = oddFirstNode;ListNode evenFirstNode = new ListNode(0);ListNode evenCurrentNode = evenFirstNode;int count=1;while (head != null) {ListNode temp=head.next;if (count% 2 == 1) {oddCurrentNode.next=head;oddCurrentNode=head;} else {evenCurrentNode.next=head;evenCurrentNode=head;}head.next=null;head = temp;count++;}oddCurrentNode.next=evenFirstNode.next;return oddFirstNode.next;} }

總結

以上是生活随笔為你收集整理的Leet Code OJ 328. Odd Even Linked List [Difficulty: Easy]的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。