南京做网站的,有ip地址如何做网站,做网站设计赚钱吗,网站开发好学嘛★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号#xff1a;山青咏芝#xff08;shanqingyongzhi#xff09;➤博客园地址#xff1a;山青咏芝#xff08;https://www.cnblogs.com/strengthen/#xff09;➤GitHub地址山青咏芝shanqingyongzhi➤博客园地址山青咏芝https://www.cnblogs.com/strengthen/➤GitHub地址https://github.com/strengthen/LeetCode➤原文地址https://www.cnblogs.com/strengthen/p/9935628.html ➤如果链接不是山青咏芝的博客园地址则可能是爬取作者的文章。➤原文已修改更新强烈建议点击原文地址阅读支持作者支持原创★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x. You should preserve the original relative order of the nodes in each of the two partitions. Example: Input: head 1-4-3-2-5-2, x 3
Output: 1-2-2-4-3-5 给定一个链表和一个特定值 x对链表进行分隔使得所有小于 x 的节点都在大于或等于 x 的节点之前。 你应当保留两个分区中每个节点的初始相对位置。 示例: 输入: head 1-4-3-2-5-2, x 3
输出: 1-2-2-4-3-5 16ms 1 /**2 * Definition for singly-linked list.3 * public class ListNode {4 * public var val: Int5 * public var next: ListNode?6 * public init(_ val: Int) {7 * self.val val8 * self.next nil9 * }
10 * }
11 */
12 class Solution {
13 func partition(_ head: ListNode?, _ x: Int) - ListNode? {
14 var head head
15
16 var leftHead ListNode(0)
17 let leftDummy leftHead
18
19 var rightHead ListNode(0)
20 var rightDummy rightHead
21
22 while head ! nil {
23 if head!.val x {
24 leftHead.next head
25 leftHead leftHead.next ?? ListNode(0)
26 }else {
27 rightHead.next head
28 rightHead rightHead.next ?? ListNode(0)
29 }
30 head head!.next
31 }
32
33 leftHead.next rightDummy.next
34 rightHead.next nil
35 return leftDummy.next
36 }
37 } 16ms 1 /**2 * Definition for singly-linked list.3 * public class ListNode {4 * public var val: Int5 * public var next: ListNode?6 * public init(_ val: Int) {7 * self.val val8 * self.next nil9 * }
10 * }
11 */
12 class Solution {
13 func partition(_ head: ListNode?, _ x: Int) - ListNode? {
14 let prevDummy ListNode(0), postDummy ListNode(0)
15 var prev prevDummy, post postDummy
16
17 var node head
18
19 while node ! nil {
20 let next node!.next
21 node!.next nil
22
23 if node!.val x {
24 prev.next node
25 prev prev.next!
26 } else {
27 post.next node
28 post post.next!
29 }
30 node next
31 }
32
33 prev.next postDummy.next
34
35 return prevDummy.next
36 }
37 } 20ms 1 /**2 * Definition for singly-linked list.3 * public class ListNode {4 * public var val: Int5 * public var next: ListNode?6 * public init(_ val: Int) {7 * self.val val8 * self.next nil9 * }
10 * }
11 */
12 class Solution {
13 func partition(_ head: ListNode?, _ x: Int) - ListNode? {
14 let dummyHead1 ListNode(0)
15 let dummyHead2 ListNode(0)
16 var p1 dummyHead1
17 var p2 dummyHead2
18 var p head
19 while p ! nil {
20 if p!.val x {
21 p1.next p
22 p1 p!
23 } else {
24 p2.next p
25 p2 p!
26 }
27 p p!.next
28 }
29 p1.next dummyHead2.next
30 p2.next nil
31 return dummyHead1.next
32 }
33 } 转载于:https://www.cnblogs.com/strengthen/p/9935628.html