Leetcode——链表
sqiu_11
“取乎其上,得乎其中;取乎其中,得乎其下;取乎其下,则无所得矣”
展开
-
Leetcode 141/142 (链表题) Linked List Cycle && Linked List Cycle II
问题1:https://leetcode.com/problems/linked-list-cycle/#/description 141. 判断链表中是否有环 class Solution { public: bool hasCycle(ListNode *head) { ListNode *slow=head; ListNode原创 2017-04-09 16:58:25 · 363 阅读 · 0 评论 -
234. Palindrome Linked List
问题: 234. Palindrome Linked List(从前往后读和从后往前读是一样的) 参考链接: 1、【LeetCode】234. Palindrome Linked List (2 solutions) 2、http://www.cnblogs.com/HorribleMe/p/4878833.html 第一种解法: (符合题目要求:时间复杂度O(n),空间复杂度原创 2017-04-24 11:47:46 · 354 阅读 · 0 评论 -
链表基本概念和操作 及 206. Reverse Linked List
参考书目与链接: 1、基本概念,双向链表与循环链表 2、链表的创建,增加、删除节点,链表的逆序、排序和销毁等 3、链表基本操作(全) 4、双向、循环链表操作原创 2017-04-20 10:59:24 · 534 阅读 · 0 评论 -
Leetcode 206 Reverse Linked List(C++/python)
问题:Reverse a singly linked list. 单链表翻转 [1,2,3,4,5,6,7,8,9,10]——[10,9,8,7,6,5,4,3,2,1] 知识点整理: 看图理解单链表的反转 「递归」和「迭代」有哪些区别? 8ms C++ Iterative and Recursive Solutions with Explanations ***原创 2017-04-19 10:52:03 · 403 阅读 · 0 评论 -
148. Sort List 链表排序(C++)
问题: Sort List 链表排序,从小到大。 参考链接: 1、 148_Sort List | O(nlogn)链表排序 | Medium 2、 Sort List 3、 LeetCode 148 — Sort List(C++ Java Python) 4、 LeetCode(148)Sort List 思想:排序算法中,自底向上的归并排序算法原创 2017-04-25 20:16:50 · 3017 阅读 · 0 评论 -
在VS C++下实现动态链表的创、输、删、插
所谓动态链表是指在程序执行过程中从无到有地建立起一个链表,既一个一个地开辟结点和输入各结点的数据,并建立起前后相连的关系。 例题: #include using namespace std; #define NULL0 struct student {long num; float score; struct student *next; }; int main()转载 2017-04-27 21:46:37 · 1314 阅读 · 0 评论 -
Leetcode——数论(1)
1、power of two 判断是否是2的次方数? 我们来观察下2的次方数的二进制写法的特点: 1 2 4 8 16 .... 1 10 100 1000 10000 .... 那么我们很容易看出来2的次方数都只有一个1,剩下的都是0, 思想1:只要每次判断最低位是否为1,然后向右原创 2017-04-04 18:51:06 · 435 阅读 · 0 评论 -
Leetcode 237/83/203 两个指针与链表节点删除
问题1: 237. Delete Node in a Linked List(删除链表中某个节点) 思想:用此节点的下一个节点值覆盖要删除的那个节点值,然后删除下一个节点(地址)。 方法:两个指针法。 C++代码: class Solution { public: void deleteNode(ListNode* node) { auto next=node-原创 2017-04-17 15:50:17 · 595 阅读 · 0 评论 -
Leetcode 160 寻找两链表的交叉节点
问题: 160. Intersection of Two Linked Lists 思想: 解法一: 第一遍循环,找出两个链表的长度差N 第二遍循环,长链表先走N步,然后同时移动,判断是否有相同节点 解法二: 链表到尾部后,跳到另一个链表的头部, 相遇点即为intersection points. 解释: 保持两个指针pA和pB分别在A和原创 2017-04-17 19:07:46 · 2936 阅读 · 0 评论 -
Leetcode 21. Merge Two Sorted Lists(C++)
问题: Merge Two Sorted Lists (将两个有序单链表合成一个有序的单链表) 参考链接: 1、[LeetCode]21.Merge Two Sorted Lists 2、LeetCode 21 Merge Two Sorted Lists(合并两个已排序的链表)(Linked List) 思想1:定义一个新的链表,比较两个链表,小的放进新链表中,谁小原创 2017-04-24 15:02:29 · 2314 阅读 · 0 评论