LeetCode Insertion Sort List
2015-09-03 01:16
357 查看
原题链接在这里:https://leetcode.com/problems/insertion-sort-list/
题目:
Sort a linked list using insertion sort.
题解:
与Sort List类似.
当出现cur.val > cur.next.val时就需要insert cur.next到对应位置了. 由mark来找对应的位置.
Time Complexity: O(n^2). Space: O(1).
AC Java:
题目:
Sort a linked list using insertion sort.
题解:
与Sort List类似.
当出现cur.val > cur.next.val时就需要insert cur.next到对应位置了. 由mark来找对应的位置.
Time Complexity: O(n^2). Space: O(1).
AC Java:
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class Solution { public ListNode insertionSortList(ListNode head) { if(head == null || head.next == null){ return head; } ListNode dummy = new ListNode(0); dummy.next = head; ListNode mark = dummy; ListNode cur = head; while(cur.next != null){ if(cur.val > cur.next.val){ //当出现前一个点val 比后一个点val大时,就要找到mark 的下一位来添加大的点 while(mark.next.val < cur.next.val){ //找mark位置 mark = mark.next; } ListNode temp = cur.next; cur.next = cur.next.next; temp.next = mark.next; mark.next = temp; mark = dummy; //mark回到dummy位置 }else{ cur = cur.next; } } return dummy.next; } }
相关文章推荐
- iOS 8 Swift Programming Cookbook
- samba服务
- iscsi
- [2015/09/03] 快速幂算法 - 大数取余
- poj 3667(区间合并)
- RAID-10 阵列的创建(软)
- DedeCMS模板文件不存在,无法解析文档! 问题定位方法
- 如何在Windows7操作系统下安装用于C++开发的Eclipse
- mfc获取盘符
- 【Cqoi2010】扑克牌
- SQLServer中比较末尾带有空格的字符串遇到的坑
- 苹果IOS开发者账号的区别,企业账号,个人账号,公司团队账号,教育账号
- MFC修改图标
- 解决android模拟器临时文件占用大量C盘容量问题
- Nginx的作用
- Java继承方法学习总结
- python 字符串转换,mysql插入带引号字符串,获取html纯文字
- TCP与UDP协议
- ORACLE_SQL语句优化
- 迄今为止我所见过的将BP算法最好的PPT