147. Insertion Sort List
来源:互联网 发布:科技公司网站源码 编辑:程序博客网 时间:2024/06/11 02:48
Sort a linked list using insertion sort.
这一题题目比较简单,就是给出一个链表序列,然后用插入排序的方法对其进行排序。那么一般链表的操作,在前面加上dummy的话,操作起来会更简单,因为需要一个prev指针来指向前面一个位置,代码如下。
Code(LeetCode运行56ms)
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* insertionSortList(ListNode* head) { ListNode dummy(INT_MIN); //dummy.next = head; 这一步加了会错,因为在插入的时候,传的参数是dummy,那么在第一次调用该函数,就会自动把dummy和list连接起来。 for (auto cur = head; cur != NULL;) { auto pos = findInsertPos(&dummy, cur -> val); ListNode* temp = cur -> next; cur -> next = pos -> next; pos -> next = cur; cur = temp; } return dummy.next; } ListNode* findInsertPos(ListNode* head, int val) { ListNode *prev = NULL; for (auto cur = head; cur != NULL && cur -> val <= val; prev = cur, cur = cur -> next) ; return prev; }};
阅读全文
0 0
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- D3.js中的Chord Diagram详解
- xshell+xftp将项目部署到远程服务器上
- webpack+vue+vueRouter模块化构建完整项目实例超详细步骤(附截图、代码、入门篇)
- 10、新手入手树莓派教程--Qt中使用wiringPi来开发工程
- IT运维管理系统的十大无奈之处
- 147. Insertion Sort List
- 【第八周】项目三 顺序串算法
- 用Caffe在MNIST上训练LeNet
- ConEmu设置当前目录打开右键菜单
- 养成良好的习惯
- 第四周 【项目5- 循环双链表应用】
- 第四周-项目四-猴子选大王
- 通过 SSH 实现 TCP / IP 隧道(端口转发)
- 第十五周 【项目2