开发者社区> 问答> 正文

有n个字符的字符串,判断字符串是否回文

有n个字符的字符串,判断字符串是否回文。 如: abcba和abccba都是回文;实验要求:
1.将输入的字符串放在单链表栈中;
2. 利用栈的入栈和出栈完成是否回文判断;
3. 应提供栈的基本操作,如栈的初始化、销毁、判断是否栈空等;
怎么用c++实现呢?

展开
收起
a123456678 2016-03-05 10:41:45 2401 0
1 条回答
写回答
取消 提交回答
  • 首先建立一个链表用来存放字符串,再建立一个链表用来模拟栈,并且把之前链表中的内容放入栈中,因为栈是先进后出的,所以拿存放字符串的链表的头数据和栈的尾数据进行一一比较,如果有一个不相等那么这个字符串就不是回文串,销毁和初始化这些都是使用链表必然用到的那么实现的思路是:
    for (int i = 0; i < (strlen(s) + 1) / 2; i++)
    stack.Push(s[i]);
    bool b = true;
    for (int i = (strlen(s) + 1) / 2 - 1; i < strlen(s); i++)
    {
    if (stack.Pop != s[i]) { b = false; break; }
    }
    cout << b ? "是" : "不是";

    2019-07-17 18:53:01
    赞同 展开评论 打赏
问答分类:
C++
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载