博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode:Partition List
阅读量:6813 次
发布时间:2019-06-26

本文共 1201 字,大约阅读时间需要 4 分钟。

题目: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.

分析:

--->题意:给定一个单链表和一个x,把链表中小于x的放到前面,大于等于x的放到后面,每部分元素的原始相对位置不变。

--->思路:遍历一遍链表,把小于x的都挂到part1后,把大于等于x的都放到part2后,最后再把大于等于的链表挂到小于链表的后面就可以了。

代码:

/** * 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 *part1 = new ListNode(0), *part2 = new ListNode(0), *node1, *node2;        node1 = part1;        node2 = part2;        while (head) {            if (head->val < x) {                node1->next = head;                node1 = node1->next;            } else {                node2->next = head;                node2 = node2->next;            }            head = head->next;        }        node2->next = NULL;        node1->next = part2->next;        return part1->next;    }};

  

转载于:https://www.cnblogs.com/carsonzhu/p/5143694.html

你可能感兴趣的文章
python学习笔记
查看>>
前端性能优化--图片懒加载(lazyload image)
查看>>
转载——yum源的超级简单配置
查看>>
POJ 2135Farm Tour--MCMF
查看>>
【转帖】MATLAB中用FDATool设计滤波器及使用
查看>>
ajax ----进度条的原理
查看>>
每周个人进度总结06
查看>>
ACM-ICPC 2018 徐州赛区网络预赛 J Maze Designer(最大生成树+LCA)
查看>>
为什么要编写轻量级的View Controller??
查看>>
CRC校验
查看>>
ruby array 额
查看>>
关于Quartz 2D绘图的简单使用
查看>>
数组求和
查看>>
T2_两数相加
查看>>
celery
查看>>
【Ajax】后台验证用户输入的验证码是否与随机生成的验证码一直
查看>>
In App Purchases(IAP 应用程序內购买): 完全攻略
查看>>
离线中技术方案的场景
查看>>
Bootstrap入门!
查看>>
Java 实验五 王奕开
查看>>