当前位置: 首页 > article >正文

判断一个字符序列是否为回文————利用使用双指针法

7b10eaf8d2d04ed98dd59f5ee2f660aa.jpg
#include <stdio.h>
#include <string.h>

int is_palindrome(char s[]) {
    int left = 0;
    int right = strlen(s) - 1;

    // 循环判断左右指针字符是否相等
    while (left < right) {
        // 如果左右指针所指字符不相等,则返回0表示不是回文
        if (s[left] != s[right]) {
            return 0;
        }
        // 移动左右指针继续判断下一对字符
        left++;
        right--;
    }
    // 如果全部字符都比较完毕,没有返回0,则说明是回文,返回1表示是回文
    return 1;
}

int main() {
    char input_str[1000];  // 假设输入的字符序列长度不超过1000

    // 读入字符序列直到遇到'@'为止
    printf("请输入一个字符序列以@为结束符:");
    scanf("%[^@]s", input_str);

    // 判断输入的字符序列是否为回文
    int result = is_palindrome(input_str);
    if (result) {
        printf("是回文\n");
    } else {
        printf("不是回文\n");
    }

    return 0;
}

24224b43d62448959c6796b81ad5561b.jpg

 


http://www.kler.cn/a/153872.html

相关文章:

  • 应急响应(风险处置)
  • 华为再掀技术革新!超薄膜天线设计路由器首发!
  • 游戏引擎学习第19天
  • 用邻接矩阵实现图的深度优先遍历
  • 【Spring】循环引用 解决流程,只用一二级缓存?
  • 富格林:安全指正规防欺诈套路
  • 从零开始搭建博客网站-----登陆页面
  • AR增强现实在汉语文学课堂教学中的应用
  • 商混ERP系统 SQL注入漏洞复现
  • css设计文本样式 前端开发入门笔记(十二)
  • DAPP开发【02】Remix使用
  • pytorch中Conv1d、Conv2d与Conv3d详解
  • arcgis投影栅格不可用
  • 2023-简单点-机器学习中的数值计算问题
  • docker中的网络不通问题
  • jOOQ所应用的场合,使用价值以及开发本框架的原因
  • vue v-permission权限指令
  • 【滑动窗口】将X减到0的最小操作数
  • .[[backup@waifu.club]].wis勒索病毒数据怎么处理|数据解密恢复
  • Performance性能检测
  • Unity3d 灯光阴影开启,法线贴图出现BUG
  • 单片机学习1——点亮一个LED灯
  • 如何基于gensim和Sklearn实现文本矢量化
  • Linux系统---环境变量+内核进程调度队列(选学)
  • 使用 kubeadm 部署 Kubernetes 集群(二)k8s环境安装
  • 小白备战蓝桥杯:Java基础语法