- 双指针技巧在处理数组和链表相关问题时经常用到,主要分为两类:左右指针和快慢指针。所谓左右指针,就是两个指针相向而行或者相背而行;而所谓快慢指针,就是两个指针同向而行,一快一慢。对于单链表来说,大部分技巧都属于快慢指针,前文 单链表的六大解题套路 都涵盖了,比如链表环判断,倒数第K个链表节点等问题,它们都是通过一个fast快指针和一个slow慢指针配合完成任务。在数组中并没有真正意义上的指针,... 双指针技巧在处理数组和链表相关问题时经常用到,主要分为两类:左右指针和快慢指针。所谓左右指针,就是两个指针相向而行或者相背而行;而所谓快慢指针,就是两个指针同向而行,一快一慢。对于单链表来说,大部分技巧都属于快慢指针,前文 单链表的六大解题套路 都涵盖了,比如链表环判断,倒数第K个链表节点等问题,它们都是通过一个fast快指针和一个slow慢指针配合完成任务。在数组中并没有真正意义上的指针,...
- 今天聊聊如何判断一个链表是不是回文链表。之前有两篇文章写了回文串和回文序列相关的问题:经典面试题:最长回文子串子序列解题模板:最长回文子序列我们知道,寻找回文串的核心思想是从中心向两端扩展:string palindrome(string& s, int l, int r) { // 防止索引越界 while (l >= 0 && r < s.size() ... 今天聊聊如何判断一个链表是不是回文链表。之前有两篇文章写了回文串和回文序列相关的问题:经典面试题:最长回文子串子序列解题模板:最长回文子序列我们知道,寻找回文串的核心思想是从中心向两端扩展:string palindrome(string& s, int l, int r) { // 防止索引越界 while (l >= 0 && r < s.size() ...
- 本文要解决「K 个一组反转链表」,不难理解:这个问题经常在面经中看到,而且 LeetCode 上难度是 Hard,它真的有那么难吗?对于基本数据结构的算法问题其实都不难,只要结合特点一点点拆解分析,一般都没啥难点。下面我们就来拆解一下这个问题。一、分析问题首先,前文 学习数据结构的框架思维 提到过,链表是一种兼具递归和迭代性质的数据结构,认真思考一下可以发现这个问题具有递归性质。什么叫递归性... 本文要解决「K 个一组反转链表」,不难理解:这个问题经常在面经中看到,而且 LeetCode 上难度是 Hard,它真的有那么难吗?对于基本数据结构的算法问题其实都不难,只要结合特点一点点拆解分析,一般都没啥难点。下面我们就来拆解一下这个问题。一、分析问题首先,前文 学习数据结构的框架思维 提到过,链表是一种兼具递归和迭代性质的数据结构,认真思考一下可以发现这个问题具有递归性质。什么叫递归性...
- 本文就总结一下单链表的基本技巧,每个技巧都对应着至少一道算法题:1、合并两个有序链表2、合并k个有序链表3、寻找单链表的倒数第k个节点4、寻找单链表的中点5、判断单链表是否包含环并找出环起点6、判断两个单链表是否相交并找出交点这些解法都用到了双指针技巧,所以说对于单链表相关的题目,双指针的运用是非常广泛的,下面我们就来一个一个看。合并两个有序链表这是最基本的链表技巧,力扣第 21 题「合并两... 本文就总结一下单链表的基本技巧,每个技巧都对应着至少一道算法题:1、合并两个有序链表2、合并k个有序链表3、寻找单链表的倒数第k个节点4、寻找单链表的中点5、判断单链表是否包含环并找出环起点6、判断两个单链表是否相交并找出交点这些解法都用到了双指针技巧,所以说对于单链表相关的题目,双指针的运用是非常广泛的,下面我们就来一个一个看。合并两个有序链表这是最基本的链表技巧,力扣第 21 题「合并两...
- 反转单链表的迭代实现不是一个困难的事情,但是递归实现就有点难度了,如果再加一点难度,让你仅仅反转单链表中的一部分,你是否能够递归实现呢?本文就来由浅入深,step by step 地解决这个问题。如果你还不会递归地反转单链表也没关系,本文会从递归反转整个单链表开始拓展,只要你明白单链表的结构,相信你能够有所收获。// 单链表节点的结构public class ListNode { in... 反转单链表的迭代实现不是一个困难的事情,但是递归实现就有点难度了,如果再加一点难度,让你仅仅反转单链表中的一部分,你是否能够递归实现呢?本文就来由浅入深,step by step 地解决这个问题。如果你还不会递归地反转单链表也没关系,本文会从递归反转整个单链表开始拓展,只要你明白单链表的结构,相信你能够有所收获。// 单链表节点的结构public class ListNode { in...
- 切片sliceGo 语言切片是对数组的抽象。Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go 中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。声明切片package mainimport "fmt"func main() { //1:direct declare variable v... 切片sliceGo 语言切片是对数组的抽象。Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go 中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。声明切片package mainimport "fmt"func main() { //1:direct declare variable v...
- 什么是protobuf?protocol buffers 是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于(数据)通信协议、数据存储等。Protocol Buffers 是一种灵活,高效,自动化机制的结构数据序列化方法-可类比 XML,但是比 XML 更小(3 ~ 10倍)、更快(20 ~ 100倍)、更为简单。你可以定义数据的结构,然后使用特殊生成的源代码轻松的在各种数据流... 什么是protobuf?protocol buffers 是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于(数据)通信协议、数据存储等。Protocol Buffers 是一种灵活,高效,自动化机制的结构数据序列化方法-可类比 XML,但是比 XML 更小(3 ~ 10倍)、更快(20 ~ 100倍)、更为简单。你可以定义数据的结构,然后使用特殊生成的源代码轻松的在各种数据流...
- 在Bash中,For循环和数组是强大的工具,可以帮助您处理和操作数据。For循环允许您重复执行一系列命令,而数组则可以存储和访问多个值。本文将详细介绍如何在Bash中使用For循环和数组。 使用 For 循环For循环是一种重复执行一系列命令的结构。它可以按照指定的方式迭代数组中的元素、数字范围或文件列表。以下是使用For循环的不同情况: 迭代数组中的元素要迭代数组中的元素,可以使用以下语法... 在Bash中,For循环和数组是强大的工具,可以帮助您处理和操作数据。For循环允许您重复执行一系列命令,而数组则可以存储和访问多个值。本文将详细介绍如何在Bash中使用For循环和数组。 使用 For 循环For循环是一种重复执行一系列命令的结构。它可以按照指定的方式迭代数组中的元素、数字范围或文件列表。以下是使用For循环的不同情况: 迭代数组中的元素要迭代数组中的元素,可以使用以下语法...
- 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting! 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting!
- 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting! 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting!
- 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting! 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting!
- 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting! 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting!
- 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting! 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting!
- 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting! 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting!
- 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting! 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting!
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中
热门标签