86. Partition List

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.
根据给出的链表和基准值,把链表分为两部分,比基准值小的在前,大的在后,两部分中的元素分别保持原来在链表中的顺序。
很直接的实现就好,构造出左右两个链表,然后拼起来:

var partition = function(head, x) {
    var leftHead = null;
    var left = null;
    var rightHead = null;
    var right = null;
    var next = null;
    while (head) {
        next = head.next;
        if (head.val<x) {
            if (leftHead) left.next = head;
            else leftHead = head;
            left = head;
            head.next = null;
        } else {
            if (rightHead) right.next = head;
            else  rightHead = head;
            right = head;
            head.next = null;
        }
        head = next;
    }
    if (left) {
        left.next = rightHead;
        return leftHead;
    } else {
        return rightHead;
    }
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 文艺像是一片海,懂海的人,常常站在海边,听海讲给他许多故事。海有很多故事,她会告诉年轻人爱琴海上的油橄榄将漂向何...
    6b9a3dc31171阅读 291评论 0 1
  • 外边的夜是安静而清冷的 灯光安静的亮着 指引着回家的行人 家中夜是安静而温暖的 书轻轻地展在面前 文字里讲述着悲欢...
    遇见更美的自己阅读 211评论 0 0
  • 第一次哭了这么多次,为什么这么疼,这么疼呢,我真的体会到了连呼吸都疼。为什么生活的考验要这么多,我最近崩溃了,希望...
    花冰玉阅读 212评论 0 0

友情链接更多精彩内容