zoukankan      html  css  js  c++  java
  • [LeetCode] 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.

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

    Solution:

    /**
     * Definition for singly-linked list.
     * struct ListNode {
     *     int val;
     *     ListNode *next;
     *     ListNode(int x) : val(x), next(NULL) {}
     * };
     */
    class Solution {
    public:
        ListNode *partition(ListNode *head, int x) {
            if(head == NULL) return head;
            
            ListNode *ans_head = NULL,*ans_end = NULL, *tmp = head;
            while(tmp != NULL)
            {
                if(tmp -> val < x) 
                {   
                    ListNode *ln = new ListNode(tmp -> val);
                    if(ans_head == NULL)
                    {
                        ans_head = ln;
                        ans_end = ln;
                    }
                    else
                    {
                        ans_end -> next = ln;
                        ans_end = ln;
                    }
                }
                
                tmp = tmp -> next;
            }
            
            tmp = head;
            while(tmp != NULL)
            {
                if(tmp -> val >= x) 
                {   
                    ListNode *ln = new ListNode(tmp -> val);
                    if(ans_head == NULL)
                    {
                        ans_head = ln;
                        ans_end = ln;
                    }
                    else
                    {
                        ans_end -> next = ln;
                        ans_end = ln;
                    }
                }
                
                tmp = tmp -> next;
            }
            
            return ans_head;
        }
    };
  • 相关阅读:
    android-sdk环境变量配置
    2018/08/04
    python 读取配置文件ini ---ConfigParser
    关于自动化测试框架搭建的前期考虑问题
    Jmeter中用例禁用
    Jmeter创建一个http请求
    基本的sql语法
    sql创建表格时出现乱码
    Jmeter安装
    Java环境搭建
  • 原文地址:https://www.cnblogs.com/changchengxiao/p/3592988.html
Copyright © 2011-2022 走看看