zoukankan      html  css  js  c++  java
  • 【Lintcode】096.Partition List

    题目:

    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

    Given 1->4->3->2->5->2->null and x = 3,
    return 1->2->2->4->3->5->null.

    题解:

    Solution 1 ()

    class Solution {  
    public:
        ListNode *partition(ListNode *head, int x) {
            ListNode* left = new ListNode(-1);
            ListNode* right = new ListNode(-1);
            ListNode* l = left;
            ListNode* r = right;
            while (head) {
                if (head->val < x) {
                    l->next = head;
                    l = l->next;
                } else {
                    r->next = head;
                    r = r->next;
                }
                head = head->next;
            }
            l->next = right->next;
            r->next = nullptr;
            
            return left->next;
        }
    };
  • 相关阅读:
    通信接收机同步模块
    CAZAC序列
    Verilog Tricks
    载波同步
    Matlab step方法
    CRC校验码
    比特冗余
    Vivado RAM使用
    collection
    hashlib
  • 原文地址:https://www.cnblogs.com/Atanisi/p/6847993.html
Copyright © 2011-2022 走看看