• 86. 分隔链表 链表


    给你一个链表和一个特定值 x ,请你对链表进行分隔,使得所有小于 x 的节点都出现在大于或等于 x 的节点之前。

    你应当保留两个分区中每个节点的初始相对位置。

    示例:

    输入:head = 1->4->3->2->5->2, x = 3
    输出:1->2->2->4->3->5

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/partition-list
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    /**
     * 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) {
            ListNode* dummyHead1 = new ListNode;
            ListNode* dummyHead2 = new ListNode;
            ListNode* Node1 = dummyHead1;
            ListNode* Node2 = dummyHead2;
    
            while (head != NULL) {
                if (head->val < x) {
                    Node1->next = head;
                    head = head->next;
                    Node1 = Node1->next;
                    // Node1->next = NULL;
                }
                else {
                    Node2->next = head;
                    head = head->next;
                    Node2 = Node2->next;
                    Node2->next = NULL;
                }
            }
            Node1->next = dummyHead2->next;
    
            return dummyHead1->next;
        }
    };
    
  • 相关阅读:
    centos 6 升级gcc
    linux fdisk 分区
    centos使用163的源
    工作流发布成功但不能自动启动
    可怕的断电
    FTP 之 550 permission denied
    Track & Trace
    AutoKey思想的應用(二)
    Windows登錄過程淺析
    snapshot.exe出現異常
  • 原文地址:https://www.cnblogs.com/xgbt/p/14229949.html
Copyright © 2020-2023  润新知