码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode-Insertion Sort List[AC源码]

时间:2014-08-20 22:36:32      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   color   os   io   for   ar   

 1 package com.lw.leet5;
 2 
 3 /**
 4  * @ClassName:Solution
 5  * @Description:
 6  *         Insertion Sort List 
 7  *         Sort a linked list using insertion sort.
 8  * @Author LiuWei
 9  * @Date 2014年8月20日下午7:50:07
10  * @Mail nashiyue1314@163.com 
11  */
12 public class Solution {
13 
14     public ListNode insertionSortList(ListNode head) {
15         // if only one or two elements ,return head
16         if(head == null || head.next == null){
17             return head;
18         }
19         ListNode cur = head.next;
20         ListNode tmp = null;
21         while(cur != null){
22             tmp = head;
23             //get the insertion position
24             while(tmp != cur && tmp.val < cur.val){
25                 tmp = tmp.next;
26             }
27             //if need insert, switch the value
28             if(tmp != cur){
29                 int num1 = cur.val;
30                 int num2 ;
31                 while(tmp != cur){
32                     //store the tmp value
33                     num2 = tmp.val;
34                     tmp.val = num1;
35                     num1 = num2;
36                     tmp = tmp.next;
37                 }
38                 //init cur
39                 tmp.val = num1;
40             }
41             cur = cur.next;
42         }
43         return head;
44     }
45 
46     public static void main(String args[]) {
47         int[] arr = {10,3,2,4,0,0,-1,2,-2};
48          ListNode head = new ListNode(arr[0]);
49          ListNode curr = head;
50          for(int i=1; i<arr.length; i++){
51              ListNode node = new ListNode(arr[i]);
52              curr.next = node;
53              curr = curr.next;
54          }
55         
56         ListNode tmp  = new Solution().insertionSortList(head);
57         while(tmp != null){
58             System.out.println(tmp.val);
59             tmp = tmp.next;
60         }
61     }
62 
63 }

 

LeetCode-Insertion Sort List[AC源码],布布扣,bubuko.com

LeetCode-Insertion Sort List[AC源码]

标签:des   style   blog   color   os   io   for   ar   

原文地址:http://www.cnblogs.com/nashiyue/p/3925603.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!