zoukankan      html  css  js  c++  java
  • leetcode--Insertion Sort List

    Sort a linked list using insertion sort.

    /**
     * Definition for singly-linked list.
     * public class ListNode {
     *     int val;
     *     ListNode next;
     *     ListNode(int x) {
     *         val = x;
     *         next = null;
     *     }
     * }
     */
    public class Solution {
        public ListNode insertionSortList(ListNode head) {
            ListNode result = null;
            if(head != null){
                ListNode newHead = new ListNode(0);
                newHead.next = head;
                ListNode sortedTail = head;
                while(sortedTail.next != null){
                    ListNode secondNode = sortedTail.next;
                    ListNode searchNode = newHead;
                    while(searchNode != secondNode){
                        if(searchNode.next.val > secondNode.val)
                            break;
                        else
                            searchNode = searchNode.next;
                    }
                    if(searchNode != secondNode){
                        sortedTail.next = secondNode.next;
                        secondNode.next = searchNode.next;
                        searchNode.next = secondNode;                    
                    }
                    else
                        sortedTail = secondNode;                
                }
            result = newHead.next;   
            }
            return result;
        }
    }
    

      

  • 相关阅读:
    spring声明式事务管理详情解析
    Nginx nginx.conf配置文件详细说明
    etcd
    rsyslog使用简介
    LINUX常见命令
    kafka简介&使用
    kafka安装
    Zookeeper简介&应用场景
    Zookeeper安装
    安装JDK
  • 原文地址:https://www.cnblogs.com/averillzheng/p/3552649.html
Copyright © 2011-2022 走看看