LeetCode链表题
常见的链表题
haobo97
这个作者很懒,什么都没留下…
展开
-
LeetCode—21 合并有序链表 Cpp&Python
LeetCode—21 合并有序链表 Cpp&Python一、方法与思路二、C++代码三、Python代码 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 过程如下: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 一、方法与思路 递归法: 终止条件,两个链表都为空时,表示合并完成 判断 l1 和 l2 头结点哪个更小,然后较小结点的 next 指针指向其余结点原创 2020-09-19 18:32:10 · 108 阅读 · 0 评论 -
LeetCode—160 相交链表 Cpp&Python
LeetCode—160 相交链表 Cpp&Python一、方法与思路二、C++代码三、Python代码 编写一个程序,找到两个单链表相交的起始节点。 一、方法与思路 双指针法:创建两个指针cur1和cur2分别为headA和headB的头节点,然后让他们进行遍历, 当cur1遍历完成后则重定位于headB的头节点, 当cur2遍历完成后则重定位于headA的头节点。 若在某一时刻相交则为相交节点 二、C++代码 class Solution { public: ListNode *ge原创 2020-09-18 19:04:09 · 115 阅读 · 0 评论 -
LeetCode—141 环形链表 Cpp&Python
LeetCode—141 环形链表 Cpp&Python一、方法与思路二、C++代码三、Python代码 给定一个链表,判断链表中是否有环。如果链表中存在环,则返回 true 。 否则,返回 false 。 一、方法与思路 快慢指针法:建两个指针,在遍历时一个一次走一步,另一个一次走两步,若该链表有环,则快慢指针相遇返回True,否则返回False。 二、C++代码 class Solution { public: bool hasCycle(ListNode* head) { //两个运动原创 2020-09-18 18:36:13 · 190 阅读 · 0 评论 -
LeetCode—206 反转链表 Cpp&Python
LeetCode—206 反转链表 Cpp&Python一、方法与思路二、C++代码三、Python代码 题目要求:传入链表头指针,进行链表反转 过程如下: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 一、方法与思路 方法一:迭代法 在对链表进行遍历的过程中,使得当前节点指向前一节点。此外,还需要另一个指针来存储下一个节点,最终返回新的头节点。 过程如下 在进行遍历时,完成三个步骤原创 2020-09-11 11:41:32 · 148 阅读 · 1 评论