跳转至

旋涡数:题解

出题人解法:跳过前导零,再从两端比较数字。Codex(GPT-6)整理边界处理与实现,并补充整数反转方案。

双指针

先移动左端点,跳过前导零,但至少留下一位。这样,全零输入留下一个零,其他输入留下通常的十进制表示。随后比较左右端点的字符,相等就向中间移动;发现不同立即判为非回文。

循环已经检查过的外侧数位成对相等,未检查的数位组成连续区间。若发现不相等的一对,定义立即不成立;否则区间缩至零位或一位时,全部对称位置均已相等。因此算法恰好判定所需的回文性质。

复杂度与选择

令 \(L\) 为本组输入字符串的长度。时间 \(O(L)\) ,保存输入需 \(O(L)\) 空间,输入之外只需 \(O(1)\) 空间。各组依次处理,总时间为所有字符串长度之和。

首选 std.cpp 直接对应数位定义,不依赖整数类型的值域。整数反转在本题值域内可用固定数量的整数完成,思路更偏向算术;两种方案都可处理完整数据。