Leetcode 147. Insertion Sort List
2016-05-04 22:10
232 查看
题目:
Sort a linked list using insertion sort.
思路:把链表设置一个伪头结点(方便后面的插入操作),从第二个结点开始从真正的头结点开始比较,遇到比它大的结点,就把该结点插入这个节点之前
具体代码:
Sort a linked list using insertion sort.
思路:把链表设置一个伪头结点(方便后面的插入操作),从第二个结点开始从真正的头结点开始比较,遇到比它大的结点,就把该结点插入这个节点之前
具体代码:
public ListNode insertionSortList(ListNode head) { if(head == null){ return null; } ListNode phead =head.next; ListNode Head = new ListNode(0);//设置的伪头结点 Head.next = head; head.next = null; ListNode p = Head; while(phead!= null){ p = Head; while(p.next!= null && p.next.val < phead.val){ p = p.next; } ListNode temp = phead; phead = phead.next; temp.next = p.next; p.next = temp; } return Head.next; }
相关文章推荐
- [C/C++]反转链表
- C#实现基于链表的内存记事本实例
- C#模拟链表数据结构的实例解析
- C语言实现带头结点的链表的创建、查找、插入、删除操作
- C++利用静态成员或类模板构建链表的方法讲解
- C++实现简单的学生管理系统
- Linux内核链表实现过程
- C++链表倒序实现方法
- C#通过链表实现队列的方法
- C#实现的简单链表类实例
- 找出链表倒数第n个节点元素的二个方法
- Java数据结构之简单链表的定义与实现方法示例
- Java模拟有序链表数据结构的示例
- C语言单循环链表的表示与实现实例详解
- C++实现的链表类实例
- PHP小教程之实现链表
- PHP中模拟链表和链表的基本操作示例
- C语言双向链表的表示与实现实例详解
- js链表操作(实例讲解)
- C语言实现输出链表中倒数第k个节点