美文网首页
5_5链表的分化

5_5链表的分化

作者: X_Y | 来源:发表于2017-09-14 00:17 被阅读5次

对于一个链表,我们需要用一个特定阈值完成对它的分化,使得小于等于这个值的结点移到前面,大于该值的结点在后面,同时保证两类结点内部的位置关系不变。

给定一个链表的头结点head,同时给定阈值val,请返回一个链表,使小于等于它的结点在前,大于等于它的在后,保证结点值不重复。

测试样例:
输入:{1,4,2,5},3
输出:{1,2,4,5}

/*
   struct ListNode {
   int val;
   struct ListNode *next;
   ListNode(int x) : val(x), next(NULL) {}
   };*/
class Divide {
    public:
        ListNode* listDivide(ListNode* head, int val) {
            // write code here
            if(NULL == head){
                return NULL;
            }
            ListNode *left_a = NULL, *right_a = NULL;
            ListNode *left_e = NULL, *right_e = NULL;
            // 如果小于就放到左边的链表,如果大于就放到右边的链表
            while(head != NULL){
                if(head->val <= val){
                    if(NULL == left_a){
                        left_a = head;
                        left_e = head;
                    }else{
                        left_e->next = head;
                        left_e = head;
                    }
                }else{
                    if(NULL == right_a){
                        right_a = head;
                        right_e = head;
                    }else{
                        right_e->next = head;
                        right_e = head;
                    }
                }
                head = head->next;
            }
            // 合并两个链表
            if(NULL != left_e){
                if(NULL != right_a){
                    left_e->next = right_a;
                    right_e->next = NULL;
                }
                //cout<< 1 << endl;
                return left_a;
            }else{
                //cout<< 2 << endl;
                return right_a;
            }
        }
};

相关文章

  • 5_5链表的分化

    对于一个链表,我们需要用一个特定阈值完成对它的分化,使得小于等于这个值的结点移到前面,大于该值的结点在后面,同时保...

  • 链表的分化

    对于一个链表,我们需要用一个特定阈值完成对它的分化,使得小于等于这个值的结点移到前面,大于该值的结点在后面,同时保...

  • 链表的分化问题

    对于一个链表,我们需要用一个特定阈值完成对它的分化,使得小于这个值的结点移到前面,等于的值在中间,大于该值的结点在...

  • 调整链表为小于等于k的在前,大于k的在后

    调整链表为小于等于k的在前,大于k的在后 对于一个链表,我们需要用一个特定阈值完成对它的分化,使得小于等于这个值的...

  • 第一百四十章 体质分化推动中级社会整合,体质性状分化的尽头接续

    体质分化推动中级社会整合,体质性状分化的尽头接续智质性状分化

  • 分化

    第一章 散落在不同境界空间里的人与兽与兽人和机器人,造成此物种彼物种之间的隔膜越来越大的那种不同与陌生感。 ...

  • 分化

    小孩子刚刚生下来,都是差不多的。 当然都是熊孩子,区别在于谁更熊。 关于小孩子会不会出息,大人们有自己的一套认证标...

  • 分化

    “分化”良好的人的特征。 具有目标指向性 具有“目标指向性”说的是一个人能够清醒地认识到自己的价值,并且能确定什么...

  • 分化

    不知道写点什么,看到群里转发的郑爽的新闻,就点进去看了。让我震惊的不是代孕这件事本身,而且在那个群体里,人们认为这...

  • 分化

    分化:指具有相同性质的事物变成性质不同的事物,统一的事物变成分裂的事物。 学习分化:是指在同一个教学环境下,部分学...

网友评论

      本文标题:5_5链表的分化

      本文链接:https://www.haomeiwen.com/subject/yalrsxtx.html