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;
        }
    }
    

      

  • 相关阅读:
    测试杯子
    如何测试网页的登录页面
    功能性测试之边界值测试
    自动化 sample
    软件架构---敏捷和架构的关系
    软件架构---分布式后端架构应该考虑的一些方面
    软件架构---集群与负载均衡
    软件架构---从需求明确架构设计驱动力
    软件架构---质量属性的实现
    软件架构---质量属性(二)
  • 原文地址:https://www.cnblogs.com/averillzheng/p/3779024.html
Copyright © 2011-2022 走看看