前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >栈的基础算法题——条件判断字符串

栈的基础算法题——条件判断字符串

作者头像
李志伟
发布2019-12-17 17:28:11
4590
发布2019-12-17 17:28:11
举报
文章被收录于专栏:为学为学

栈的基础算法题——条件判断字符串

识别依次读入的一个以@为结束符的字符序列是否是形如“序列1&序列2”模式的字符序列,其中序列1和序列2都不含字符”&”,且序列1是序列2的逆序列。例如”a+b&b+a”是属于该模式的字符序列,而”1+2&2+1”不是。

代码语言:javascript
复制
Status IsStr(char *str){

    int i = 0;
    char *e;
    SqStack *S;
    InitStack(S);

    //先将“&”前的字母入栈
    while(str[i] != '\0' && str[i] != '&'){
        Push(S, str[i]);
        i++;
    }

    //若字符串中没有出现"&",则直接返回ERROR;
    if(str[i] == '\0')return ERROR;

    //若出现了"&",则继续后面的操作
    i ++;       //将指针移到"&"后面的元素

    //在出栈的过程中将与"&"后面的元素进行比较
    while(str[i] != '\0' && S->top != -1){
        Pop(S, e);
        if(*e == str[i]){
            i ++;
        }else{
            return FALSE;
        }
    }

}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 栈的基础算法题——条件判断字符串
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档