leetcode 86パーティション一覧

1。 

/ * * 
 *単独リンクリストのための定義。
 *構造体ListNode { 
 * INTヴァル。
 * ListNode *次の; 
 * ListNode(INT X):ヴァル(x)は、次の(NULL){} 
 *}。
 * / 
クラスソリューション{
 パブリック
    ListNode *パーティション(ListNode *ヘッド、int型のx){
         場合(!ヘッド||頭部>次の)リターンヘッド。
        ListNodeのLN( - 1); ln.next = ヘッド。
        ListNode *プリ=&LN、* CUR =頭部、*ノード= 事前。
        一方、(CUR){
             場合(cur->ヴァル> =X){
                 一方(CUR && cur->値> = {X)
                    ノード = CUR。
                    CUR = cur-> 次。
                } 
                もし(!CUR)ブレーク
                ノード - >次= cur-> 次。
                CUR - >次=プレ> 次。 - >次= CUR。
                事前 = CUR。
                CUR =ノード- > 次。
            } 
            {
                 場合(プレ>次!=  CUR){
                    ノード- >次= cur-> 次。
                    CUR - >次=プレ> 次。 - >次= CUR。
                    事前 = CUR。
                    CUR =ノード- > 次。
                } 
                { 
                    事前 = CUR。
                    CUR = cur-> 次。
                } 
            } 
            
        } 
        戻りln.next。
    } 
}。

2。 

/ * * 
 *単独リンクリストのための定義。
 *構造体ListNode { 
 * INTヴァル。
 * ListNode *次の; 
 * ListNode(INT X):ヴァル(x)は、次の(NULL){} 
 *}。
 * / 
クラスソリューション{
 パブリック
    ListNode *パーティション(ListNode *ヘッド、INT X){ 
        ListNode以下(0)、以上(0 )。
        ListNode * CUR =頭部、* lessp =&少なく、* morep =&以上;
        一方、(CUR){
             場合(cur->ヴァル< X){ 
                lessp >次= - ; CUR
                lessp = lessp-> 次。
            } 
            { 
                morep - >次= CUR。
                morep = morep-> 次。
            } 
            CUR = cur-> 次。
        } 
        morep - >次= nullptr。
        lessp - >次= more.next。
        リターンless.next。
    } 
}。

 

おすすめ

転載: www.cnblogs.com/LiuQiujie/p/12617689.html