博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
96. Partition List [easy]
阅读量:5313 次
发布时间:2019-06-14

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

Description

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.

Example

Given 1->4->3->2->5->2->null and x = 3,

return 1->2->2->4->3->5->null.

看到“partition”,还以为是快速排序呢。。。题目的意思是,给一个链表,再给一个数。将链表中的数分为两个类:小于x、大于等于x。返回值为该类型的ListNode,将小于x的放前面,大于等于x的,放在后面。先贴给图:

哈哈哈,其实思路也挺简单的,不知道怎么就成最快的了。

思路:按照我分析的,将原链表拆分成两个链表,最后再合并起来。代码如下:

/** * Definition for ListNode * public class ListNode { *     int val; *     ListNode next; *     ListNode(int x) { *         val = x; *         next = null; *     } * } */public class Solution {    /**     * @param head: The first node of linked list     * @param x: An integer     * @return: A ListNode     */    public ListNode partition(ListNode head, int x) {        // write your code here        //放值小于x的结点,lp为插入low链表时的尾指针        ListNode low=null;        ListNode lp=low;        //放值大于等于x的结点,hp为插入high链表时的尾指针        ListNode high=null;        ListNode hp=high;        //p为循环的游标        ListNode p=head;        while(p!=null){            if(p.val

 

 

转载于:https://www.cnblogs.com/phdeblog/p/9069138.html

你可能感兴趣的文章
UVA - 1592 Database
查看>>
Fine Uploader文件上传组件
查看>>
javascript中的传递参数
查看>>
objective-c overview(二)
查看>>
python查询mangodb
查看>>
consonant combination
查看>>
驱动的本质
查看>>
Swift的高级分享 - Swift中的逻辑控制器
查看>>
Swagger简单介绍
查看>>
Python数据分析入门案例
查看>>
vue-devtools 获取到 vuex store 和 Vue 实例的?
查看>>
Linux 中【./】和【/】和【.】之间有什么区别?
查看>>
内存地址对齐
查看>>
看门狗 (监控芯片)
查看>>
css背景样式
查看>>
JavaScript介绍
查看>>
开源网络漏洞扫描软件
查看>>
yum 命令跳过特定(指定)软件包升级方法
查看>>
创新课程管理系统数据库设计心得
查看>>
Hallo wolrd!
查看>>