zoukankan      html  css  js  c++  java
  • leetcode--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.

    /**
     * Definition for singly-linked list.
     * public class ListNode {
     *     int val;
     *     ListNode next;
     *     ListNode(int x) {
     *         val = x;
     *         next = null;
     *     }
     * }
     */
    public class Solution {
        /**This is a fundamental problem. But we need to pay attention to some subtle problems.
         * such as the null pointers.
         * @author Averill Zheng
         * @version 2016-06-07
         * @since JDK 1.7
         */
        public ListNode partition(ListNode head, int x) {
            ListNode newHead = new ListNode(0);
    		if(head != null){
    			newHead.next = head;
    			ListNode firstLarger = head;
    			ListNode insertPosition = newHead;
    			while(firstLarger != null && firstLarger.val < x){
    				insertPosition = insertPosition.next;
    				firstLarger = firstLarger.next;
    			}
    			ListNode current = firstLarger;
    			while(firstLarger != null){
    				if(firstLarger.val >= x){
    					current = firstLarger;
    					firstLarger = firstLarger.next;
    				}
    				else{
    					current.next = firstLarger.next;
    					firstLarger.next = insertPosition.next;
    					insertPosition.next = firstLarger;
    					insertPosition = insertPosition.next;
    					firstLarger = current.next;
    				}
    			}
    		}
    		newHead = newHead.next;
    		return newHead;
        }
    }
    

      

  • 相关阅读:
    PHP 消息队列
    Nginx 设置负载均衡
    Nginx 服务器搭建
    PHP 获取文件扩展名的五种方式
    高并发和大流量解决方案
    <面试> PHP 常见算法
    Mysql 预查询处理 事务机制
    Linux定时任务 结合PHP实现实时监控
    Swoole 结合TP5搭建文字直播平台
    <记录> PHP Redis操作类
  • 原文地址:https://www.cnblogs.com/averillzheng/p/3779024.html
Copyright © 2011-2022 走看看