首页 > 其他 > 详细

leetcode 134 奇偶链表 Odd Even Linked List

时间:2019-02-27 21:24:27      阅读:131      评论:0      收藏:0      [点我收藏+]

技术分享图片

C++代码:定义三个指针变量,cur,nex,head2,思路就是将链表分开为奇偶两部分,cur,和nex分别指向当前节点和下一个节点,当nex的下一个节点为NULL 终止循环,head指向第二个节点(如果有的话);

时间复杂度O(nodes);

 

 1 /**
 2  * Definition for singly-linked list.
 3  * struct ListNode {
 4  *     int val;
 5  *     ListNode *next;
 6  *     ListNode(int x) : val(x), next(NULL) {}
 7  * };
 8  */
 9 class Solution {
10 public:
11     ListNode* oddEvenList(ListNode* head) {
12         if(head==NULL||head->next==NULL) return head;
13         ListNode* cur;
14         ListNode* nex;
15         ListNode* head2;
16         cur=head;nex=head->next;head2=nex;
17         int flag=1;
18         while(nex->next!=NULL){
19             cur->next=nex->next;
20             cur=nex;nex=nex->next;
21             flag=-flag;
22         }
23         cur->next=NULL;
24         
25         if(flag==1){
26             cur->next=head2;
27         }else{
28             nex->next=head2;
29         }
30         return head;
31     }
32 };

 效果一般般:

技术分享图片

 

leetcode 134 奇偶链表 Odd Even Linked List

原文:https://www.cnblogs.com/joelwang/p/10446879.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!