文章 2024-08-06 来自:开发者社区

【Leetcode刷题Python】剑指 Offer 22. 链表中倒数第k个节点

1 题目 输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。 例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。 示例: 给定一个链表: 1->...

文章 2024-08-06 来自:开发者社区

【Leetcode刷题Python】剑指 Offer 18. 删除链表的节点

1 题目 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。 返回删除后的链表的头节点。 注意:此题对比原题有改动 示例 1: 输入: head = [4,5,1,9], val = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 ->...

文章 2024-08-06 来自:开发者社区

【Leetcode刷题Python】114. 二叉树展开为链表

1 题目 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同。 示例 1: 输入:root = [1,2,5,3,4,null,6]输出:[1,null,2,null,3,null,4,null,5,...

【Leetcode刷题Python】114. 二叉树展开为链表
文章 2024-08-05 来自:开发者社区

【Leetcode刷题Python】23. 合并K个升序链表

1 题目 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。输入:lists = [[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6] 2 解析 注意,最外层是列表,第二层是链表如上面的[1,4,5]是链表1->4-...

文章 2024-08-05 来自:开发者社区

【Leetcode刷题Python】328. 奇偶链表

1 题目 给定单链表的头节点 head ,将所有索引为奇数的节点和索引为偶数的节点分别组合在一起,然后返回重新排序的列表。 第一个节点的索引被认为是 奇数 , 第二个节点的索引为 偶数 ,以此类推。 请注意,偶数组和奇数组内部的相对顺序应该与输入时保持一致。 你必须在 O(1) 的额外空间复杂度和 O(n) 的时间复杂度下解决这个问题。 ...

【Leetcode刷题Python】328. 奇偶链表
文章 2024-08-05 来自:开发者社区

【Leetcode刷题Python】234.回文链表

1 题目 请判断一个链表是否为回文链表。 比如【1】【1,2,2,1】【1,2,1】,【1,2,3,3,2,1】 2 解析 (1)方法一:使用栈 将前一半入栈,然后出栈,对比后一半的元素,注意如果链表长度是奇数,就需要跳过中间元素。 (2)方法二:拆分为两个链表,反转后半段链表,再依次对比 注意:找到中间元素,可以用计数法或者快慢指针法,以...

【Leetcode刷题Python】234.回文链表
文章 2024-08-05 来自:开发者社区

【Leetcode刷题Python】25.K 个一组翻转链表

1 题目 给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。 ...

【Leetcode刷题Python】25.K 个一组翻转链表
文章 2024-08-05 来自:开发者社区

【Leetcode刷题Python】203.移除链表元素

1 题目 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 2 解析 (1)方法一迭代法,依次直接对head链表的每个元素进行判断。遇到待删除元素直接删除。注意,需要考虑一种情况,如果链表是[7,7,7,7],删除的元素是7,是不能直接用head.next = head.next.next的,因为head...

【Leetcode刷题Python】203.移除链表元素
文章 2024-08-05 来自:开发者社区

【Leetcode刷题Python】138. 复制带随机指针的链表

1 题目 给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链...

【Leetcode刷题Python】138. 复制带随机指针的链表
文章 2024-08-05 来自:开发者社区

【Leetcode刷题Python】92.反转链表II

1 题目 给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。 2 解析 ...

【Leetcode刷题Python】92.反转链表II

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

算法编程

开发者社区在线编程频道官方技术圈。包含算法资源更新,周赛动态,每日一题互动。

+关注