You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LeetCode回文检查器(Palindrome checker)代码逻辑错误排查求助

LeetCode回文检查器代码问题排查

你的C++回文检查代码在VS Code无输出、LeetCode仅通过2/3测试用例,核心问题不止bool逻辑,还有多处严重错误,具体如下:

原代码

class Solution {
public:
    bool isPalindrome(string s) {
        getline(cin,s);
                bool answer;
                vector<int>l;
                vector<int>r;
                for(auto i=0;i<s.size();i++){
                    char c = s[i];
                    l.push_back(c);
                }
                for(auto i=s.size()-1;i<s.size();i--){
                    char a = s[i];
                    r.push_back(a);
                }
                for(auto i=0;i++;)
                    if(l[i]==r[i]) answer = true;
                    if(l[i]!=r[i]) answer = false;
                }
                return answer;
    }
};

问题分析

  • 非法覆盖输入参数:LeetCode通过函数参数s传入待检查字符串,你手动调用getline(cin,s)会覆盖原有参数值,导致输入逻辑混乱,这也是VS Code无输出的原因——程序在等待手动输入,但题目不需要此操作。
  • 反转循环死循环:第二个for循环for(auto i=s.size()-1;i<s.size();i--)中,s.size()是无符号类型size_t,当i从0减1时会变成极大的无符号数,永远满足i<s.size(),导致死循环,r向量会被无限填充,程序直接崩溃或逻辑完全错误。
  • 回文检查循环逻辑彻底错误:最后一个for循环for(auto i=0;i++;)是死循环,且两个if语句未用大括号包裹,只有第一个if属于循环体。更关键的是,你的逻辑是“当前字符相等就设answer为true,不等就设为false”,最终结果只取决于最后一对字符的比较,完全不符合回文“所有对称字符都相等”的要求。
  • bool变量未初始化:bool answer;没有初始值,如果字符串为空或者循环未执行,返回的是随机内存值,结果不可控。

修正后的代码(双指针法,高效简洁)

class Solution {
public:
    bool isPalindrome(string s) {
        // 过滤并标准化字符串:仅保留字母数字,统一转小写
        string processed;
        for (char c : s) {
            if (isalnum(static_cast<unsigned char>(c))) {
                processed += tolower(static_cast<unsigned char>(c));
            }
        }
        
        // 双指针从两端向中间检查
        int left = 0;
        int right = processed.size() - 1;
        while (left < right) {
            if (processed[left] != processed[right]) {
                return false; // 只要一对字符不等,直接返回false
            }
            left++;
            right--;
        }
        return true; // 所有对称字符都相等,返回true
    }
};

内容的提问来源于stack exchange,提问作者Mrigraj Yadav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 08:52:39