86. Partition List

栏目: 数据库 · 发布时间: 7年前

内容简介: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 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:

Input: head = 1->4->3->2->5->2, x = 3
Output: 1->2->2->4->3->5

难度:medium

题目:给定链表和一指定值X,以X为参照将链表划分为小于X和大于等于X两部分。保持原始链表中结点的顺序不变。

思路:将原始链表先拆分为两链表,一个收集所以小于X的,一个收集其它的。然后合并两链表。

Runtime: 0 ms, faster than 100.00% of Java online submissions for Partition List.

Memory Usage: 36.7 MB, less than 0.90% of Java online submissions for Partition List.

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode partition(ListNode head, int x) {
        ListNode lHead = new ListNode(0), lTail = lHead;
        ListNode geHead = new ListNode(0), geTail = geHead;
        ListNode ptr = head, node = null;
        while (ptr != null) {
            node = ptr;
            ptr = ptr.next;
            if (node.val < x) {
                lTail.next = node;
                lTail = node;
            } else {
                geTail.next = node;
                geTail = node;
            }
        }
        
        lTail.next = geHead.next;
        geTail.next = null;
        
        return lHead.next;
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Hacking Growth

Hacking Growth

Sean Ellis、Morgan Brown / Crown Business / 2017-4-25 / USD 29.00

The definitive playbook by the pioneers of Growth Hacking, one of the hottest business methodologies in Silicon Valley and beyond. It seems hard to believe today, but there was a time when Airbnb w......一起来看看 《Hacking Growth》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具