标签:字符数组

leetcode【字符串—简单】344.反转字符串

<p>本文讲解 LeetCode 344 反转字符串,要求在 O(1) 额外空间下原地反转字符数组。文章给出题目描述与调试代码,介绍使用左右双指针边交换边向中间靠拢的解法,并额外列举了临时变量、位运算、加减法三种字符交换写法。</p>

leetcode【字符串—简单】541.反转字符串 II

<p>本文记录 LeetCode 541 反转字符串 II 的解法,要求每 2k 个字符反转前 k 个,并正确处理末尾不足 k 个或不足 2k 个的情况。文章给出题目描述与调试代码,介绍按 2k 步长循环并封装 reverse 方法完成指定区间反转。</p>

leetcode【剑指 Offer 05. 替换空格—简单】替换空格

<p>本文讲解剑指 Offer 05 替换空格,需把字符串中的每个空格替换成 %20。文章给出题目描述与调试代码,对比 O(n²) 的逐次移动填充,重点介绍先扩容再使用左右双指针从后往前填充的 O(n) 最优解法。</p>

leetcode【字符串—中等】151.翻转字符串里的单词

<p>本文记录 LeetCode 151 翻转字符串里的单词,要求反转单词顺序并去掉多余空格。文章给出题目描述与调试代码,介绍 StringBuilder 拼接、纯字符数组从后往前填充,以及原地整体反转加二次反转移位的 O(1) 空间三种解法。</p>

leetcode【字符串—简单】剑指 Offer 58.左旋转字符串

<p>本文讲解剑指 Offer 58 左旋转字符串,需把字符串前 n 个字符转移到尾部。文章给出题目描述与调试代码,介绍整体反转后再分段反转的原地解法、新数组填充解法,并分析借助 substring 与 StringBuilder 效率更高的原因。</p>