leetcode_middle_87_274. H-Index
来源:互联网 发布:华硕访客网络限速 编辑:程序博客网 时间:2024/06/15 14:19
题意:
用插入排序来给一个单链表排序。
分析:
插入排序是遍历数组,然后,将这个数放在其左边(已经有序)的数组的有序位置。
但是链表不能倒序遍历,交换也很麻烦,我们用一个新数组来插入。
思路很简单,难的是实现。我一直认为链表只要细心的记录要改变的结点,把握好每一次断键,连键(比如插入等基本操作),以及判断空。这三件事情,就没什么问题了。
/** * 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 newHead = new ListNode(0); ListNode newp = newHead; ListNode oldp = head; ListNode oldpNext = null; while(oldp != null){ //遍历旧链表 oldpNext = oldp.next; while(newp.next!=null && newp.next.val < oldp.val){ //遍历新链表,寻找插入点 newp = newp.next; } //这时候,需要把oldp插入到newHead之后 oldp.next = newp.next; newp.next = oldp; //插入完成,旧数组指针往下走一位,新数组指针复原到链表头 oldp = oldpNext; newp = newHead; } return newHead.next; }}
0 0
- leetcode_middle_87_274. H-Index
- H-Index
- H-Index
- H-Index
- H-Index
- H-Index
- H-Index
- H-Index
- H-Index
- H-Index
- H-Index
- H-Index
- H-Index
- H-Index
- H-Index
- H-Index
- H-Index
- H-Index && H-Index II
- NDIS PACKET结构,如何COPY?
- 个推sdk 集成(项目firecommand中的应用)
- 17. Letter Combinations of a Phone Number
- iOS开发:移动端与前端交互的一些基本操作
- myeclipse快捷键之前进——Ctrl+Y
- leetcode_middle_87_274. H-Index
- java使用ftp上传文件出现false()
- C++中引用(&)的用法和应用实例
- 字符编码判断
- POJ 3104 Drying (二分)
- pnputil 安装驱动实际运用-遍历当前文件夹下所有.inf文件并安装驱动
- live555编译(arm版本)
- 《浪潮之巅》摘抄
- AngularJS自定义复选框对应的值