【Leetcode】328.(Medium)Odd Even Linked List
程序员文章站
2022-07-14 08:45:35
...
解题思路
设置两个链表头,一个串接单数节点,一个串接双数节点。
最后将两个链表的数据连接起来。
时间复杂度为O(n),是原始链表的长度
空间复杂度为O(1),用于保存两个新创建的链表头。
代码
class Solution {
public ListNode oddEvenList(ListNode head) {
ListNode trueHead = new ListNode(-1);
ListNode dummyHead = new ListNode(-1);
ListNode p = head, p1=trueHead, p2=dummyHead;
while(p!=null) {
p1.next = p;
p2.next=p.next;
p1=p1.next;
p2=p2.next;
p=p.next;
if(p!=null) p=p.next;
}
if(p2!=null) p2.next=null;
p1.next=dummyHead.next;
return trueHead.next;
}
}
运行结果
推荐阅读
-
【LeetCode OJ 328】Odd Even Linked List
-
leetcode 328. Odd Even Linked List
-
leetcode 328. Odd Even Linked List
-
328. Odd Even Linked List
-
328. Odd Even Linked List。
-
328. Odd Even Linked List
-
[LC] 328. Odd Even Linked List
-
【Leetcode】328.(Medium)Odd Even Linked List
-
【List-medium】328. Odd Even Linked List 偶数位置放在后面,奇数位置元素放到前面
-
328. Odd Even Linked List