判断是否为回文字符串

bool judge(char* str) {
    if (str == NULL) return false;
    
    int len = strlen(str);  // 空字符串时 len=0
    
    // len=0 时循环条件 i<j → 0<-1 不成立,直接返回 true
    for (int i=0, j=len-1; i<j; i++, j--) {
        if (str[i] != str[j]) return false;
    }
    return true;  // 空字符串返回 true
}

📊 字符串长度对比:

⚠️ 重要区别:

  • strlen():逻辑长度(不包含 \0),空字符串为 0
  • sizeof():物理内存大小(包含 \0),空字符串为 1
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务