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

通过栈实现字符串中查找是否有指定字符串的存在

题目示例:
在这里插入图片描述

分析

由与没有给出字符串的长度,所以只能通过getline一次性处理,而在输入后恰好能倒序处理字符串,以标点符号为分界点,将数字当成字符放到栈里,遇到下一个标点符号时执行查找操作,并清空栈。

题不难,直接上代码实现吧:


//程序没考虑空格。请用这行没空格的样例 
//样例: matrix=[[1,3,5,7],[10,11,16,20],[23,30,34,60]],target=3
//matrix=[[1,3,5,7],[10,11,16,20],[23,30,34,60]],target=11#include <iostream>
#include <string>
#include <cstring>
#include <stack>
using namespace std;stack<char> c;char tar[1000];bool ans;void del()
{while (!c.empty()){c.pop();}
}bool equ(int t, char ss[], char s[])
{for (int i = 0; i<=t ; i++){if (s[i] != ss[i]){return false;}}return true;
}bool com()
{char b[10000]={'\0'};int i = 0;while (!c.empty()){b[i] = c.top();c.pop();i++;
//		cout<<"cbb "<<b[i]<<" this"<<endl;}//	cout<<"ans"<<tar<<" "<<b<<endl;if (equ(i, b, tar)){ans = true;//		cout<<"ans"<<tar<<" "<<b<<endl;return ans;}return false;
}int main()
{string a;getline(cin,a);int n = a.size();int x = n;char temp = a[n-1];while (temp != '='){n--;temp = a[n-1];
//		cout<<n<<endl;} for (int i = n, j = 0;i <= x-1; i++,j++){tar[j] = a[i];
//		cout<<"t"<<a[i]<<endl;}//提取目标字符串 //	cout<<"tar"<<tar<<endl;n--;//减去等号n--;//再减1直接拿n当下标n-=6;//减去target //	cout<<"a[n]"<<a[n]<<endl;while (a[n] != '='){if (a[n] == ']'){n--;continue;} if (a[n] == ',' || a[n] == '['){
//			cout<<"where"<<endl;if (!c.empty()){if (com()){break;}}n--;continue;}c.push(a[n]);//		cout <<"n"<< n<<" "<<a[n]<<" ";n--;} if (ans == true){cout<<"true";}else{cout<<"false";}return 0;
}
http://www.lryc.cn/news/452504.html

相关文章:

  • MongoDB伪分布式部署(mac M2)
  • Golang | Leetcode Golang题解之第454题四数相加II
  • [ComfyUI]Flux:超美3D微观山水禅意,经典中文元素AI重现,佛陀楼阁山水画卷
  • Linux 系统 nvm 管理node无法使用
  • 信号处理快速傅里叶变换(FFT)的学习
  • vue3项目el-table表格行内编辑加输入框校验
  • 【Node.js】内置模块FileSystem的保姆级入门讲解
  • 问:LINUXWINDOWS线程CPU时间如何排序?
  • postgresql-重复执行相同语句,试试 prepare!
  • wpf加载带材料的3D模型(下载的3D预览一样有纹理)
  • 【k8s之深入理解调度】调度框架扩展点理解
  • 音视频基础理论
  • 《江苏科技大学学报(自然科学版)》
  • C++初学者指南-5.标准库(第二部分)–随机数生成
  • Unity2017在安卓下获取GPS位置时闪退的解决办法
  • OpenGL ES 索引缓冲区(4)
  • 01:(寄存器开发)点亮一个LED灯
  • .Net 6.0 Windows平台如何判断当前电脑是否联网
  • 微软准备了 Windows 11 24H2 ISO “OOBE/BypassNRO“命令依然可用
  • MacOS 终端执行安装 Brew
  • 【设计模式-解释模式】
  • 51单片机应用开发(进阶)---数码管+按键+蜂鸣器(电磁炉显示模拟)
  • Emergency Stop (ES)
  • [C++][第三方库][gtest]详细讲解
  • 【Java数据结构】 链表
  • 前端——Ajax和jQuery
  • C++-vector模拟实现
  • Activity
  • 【力扣 | SQL题 | 每日四题】力扣1581, 1811, 1821, 1831
  • 洛谷【P1955 [NOI2015] 程序自动分析】