亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Partition相關問題怎么解決

發布時間:2021-12-09 16:51:47 來源:億速云 閱讀:155 作者:iii 欄目:編程語言

本篇內容主要講解“Partition相關問題怎么解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Partition相關問題怎么解決”吧!

題意:

根據給定鏈表和給定值X,把大于X值的放在X右邊,小于X值的放在X左邊。并不改變相對位置,比如4和3都大于等于3,那么他們移到右邊后位置仍為4在前,3在后。

思路:

1)鏈表為空或者只有一個節點,返回即可。

2)定義兩個鏈表list和back,分別存放小于X節點的鏈表和大于等于X的鏈表。使用二級指針方便頭節點處理。

3)while循環結束后,list和back鏈表的最后節點的next并未置NULL。所以把back鏈表尾節點next置NULL。并把back追加到list后面即可。

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
struct ListNode* partition(struct ListNode* head, int x)
{
    if ( head == NULL || head->next == NULL )
    {
        return head;
    }
    struct ListNode *list = NULL;
    struct ListNode **first  = &list;
    struct ListNode *back = NULL;
    struct ListNode **second = &back;
        
    while ( head )
    {   
        if ( head->val < x)
        {   
            *first = head;
            first = &(*first)->next;
        }   
        else
        {   
            *second = head;
            second = &(*second)->next;
        }
        
        head = head->next;
    }
    
    *second = NULL;
    *first = back;
    
    return list;
}

到此,相信大家對“Partition相關問題怎么解決”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

若羌县| 开封市| 汾阳市| 安溪县| 苍溪县| 宁强县| 龙陵县| 梅州市| 诏安县| 济宁市| 潢川县| 衡阳县| 凤山市| 南充市| 大城县| 鹤庆县| 灵石县| 仁寿县| 娱乐| 繁昌县| 宜春市| 门源| 哈密市| 佛山市| 万盛区| 都匀市| 汉中市| 聂荣县| 大方县| 东源县| 利辛县| 朔州市| 两当县| 枣阳市| 晋州市| 张掖市| 公安县| 调兵山市| 化德县| 安岳县| 舟山市|