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

做最漂亮的网站湖北微网站建设电话

做最漂亮的网站,湖北微网站建设电话,厦门模板建站,企销客逆波兰表达式后缀表达式的出现是为了方便计算机处理,它的运算符是按照一定的顺序出现,所以求值过程中并不需要使用括号来指定运算顺序,也不需要考虑运算符号(比如加减乘除)的优先级。先介绍中简单的人工转化方法&#…

逆波兰表达式

后缀表达式的出现是为了方便计算机处理,它的运算符是按照一定的顺序出现,所以求值过程中并不需要使用括号来指定运算顺序,也不需要考虑运算符号(比如加减乘除)的优先级。

先介绍中简单的人工转化方法:
假设有一个中缀表达式a+b*c-(d+e):
首先将这个中缀表达式的所有运算加括号((a+(b*c))-(d+e))
然后将所有运算符放到括号后面,这样就变成了((a(bc)* )+ (de)+ )-
把所有括号去掉abc*+de+-,最后得出的结果就是后缀表达式。

20. 有效的括号 - 力扣(LeetCode)

给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
每个右括号都有一个对应的相同类型的左括号。

示例:

输出false的情况有三种,一是左括号多,二是右括号多,三是左右括号不匹配
( [ ] ) ——正常
( [ ) ] ——左右括号不匹配
( [ ( ) ] ——左括号多
) ( ——右括号多
思路:
遇到左括号,将对应的右括号入栈(方便后面比较)
遇到右括号,栈不空,将栈顶元素与其比较是否相等,相等则出栈,不相等则返回false(左右不匹配)
栈空,返回false(右括号多)
遍历字符串结束,若栈不为空,则返回false(说明左括号多)
bool isValid(char * s)
{char Stack[3500];int top=0;for(int i=0;i<strlen(s);i++){//等于左括号if( s[i]=='(')Stack[top++]=')';else if( s[i]=='[')Stack[top++]=']';else if( s[i]=='{')Stack[top++]='}';else if( top!=0 && s[i]==Stack[top-1])top--;elsereturn false;}return !top;
}

1047. 删除字符串中的所有相邻重复项 - 力扣(LeetCode)

给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。
输入:"abbaca"
输出:"ca"
解释
例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重复项删除操作,所以最后的字符串为 "ca"。
char * removeDuplicates(char * s)
{int len=strlen(s);//char Stack[8000];原先是这样定义的,但是一直输出NULLchar* Stack = (char*)malloc(sizeof(char) * len + 1);int top=0;int i=0;for(i=0;i<len;i++){if( top>0 &&s[i]==Stack[top-1])top--;elseStack[top++]=s[i];}Stack[top]='\0';return Stack;
}

那又为什么定义一个数组当作栈不行呢?

  • 经过一番搜索发现犯了一个错误,函数里的静态局部变量在函数结束后就销毁了,返回的也就是无效的值,即返回了一个局部变量Stack的指针,而这个指针在函数返回后不再有效。

  • 为了避免这种情况,代码需要使用动态内存分配,以确保函数返回后所分配的内存仍然可用。(因为没有释放嘛)


150. 逆波兰表达式求值 - 力扣(LeetCode)

给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。
请你计算该表达式。返回一个表示表达式值的整数。
注意:
有效的算符为 '+'、'-'、'*' 和 '/' 。
每个操作数(运算对象)都可以是一个整数或者另一个表达式。
两个整数之间的除法总是 向零截断 。
表达式中不含除零运算。
输入是一个根据逆波兰表示法表示的算术表达式。
答案及所有中间计算结果可以用 32 位 整数表示。
int evalRPN(char ** tokens, int tokensSize)
{int stack[5000];int top = 0;int ret = 0;for (int i = 0; i < tokensSize; i++){if (strcmp(tokens[i], "+") == 0){stack[top-2] = stack[top - 2] + stack[top - 1];top--;}else if (strcmp(tokens[i], "-") == 0){stack[top-2] = stack[top - 2] - stack[top - 1];top--;}else if (strcmp(tokens[i], "*") == 0){stack[top-2] = stack[top - 2] * stack[top - 1];top --;}else if (strcmp(tokens[i], "/") == 0){stack[top-2] = stack[top - 2] / stack[top - 1];top --;}else{//atoi函数将字符串转换为数字stack[top++] = atoi(tokens[i]);}}return stack[top - 1];
}

写在最后

👍🏻 点赞,你的认可是我创作的动力!
收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富!

http://www.yayakq.cn/news/413621/

相关文章:

  • 做网站要运用到代码吗公司怎么建立网站
  • 做写字楼的网站有哪些资料它有什么特点
  • 石家庄站列车时刻表北京给网站做系统的公司
  • 网站大小多少合适水果商城网站模板
  • 男女性男女直接做的视频网站音乐盒网站源码
  • app推广策划方案上海做网站就用乐云seo十年
  • 招聘做网站的需要技术哪些要求网站深度功能
  • 珠宝首饰网站模板做的好的淘宝客网站
  • 银川微信网站网站建设 司法公开的需要
  • 广州网站快速制作什么是网络营销的概率
  • 湘西网站建设吧2008 做网站
  • 珠海建设网站首页wordpress中文标题404
  • 淄博市网站建设网站开发数据库
  • wordpress模板导航seo与网站优化 pdf
  • 梁山网站建设公司重庆奉节网站建设公司推荐
  • 站长工具无内鬼放心开车禁止收费山东省住房与城乡建设网站
  • WordPress网站封装app教程搜狐快站绑定未备案的网站域名吗
  • 济宁网站开发招聘wordpress仿亿欧网
  • 网站开发兼职电脑网页视频怎么下载
  • 长沙市住房和建设局官方网站龙轩导航
  • 网站弹出式链接后台怎么做wordpress vs drupal
  • 宜城网站建设网络推广如何自建一个网站
  • 成都大邑网站建设视觉设计评价标准的要素
  • 余姚网站建设设计wordpress首页透明
  • 江苏华能建设集团有限公司网站服装定制品牌排行榜前十名
  • wordpress的pjax主题seo优化与sem推广有什么关系
  • 深圳seo整站优化承接网站建设原则包括哪些方面
  • 句容网站制作哪家好便民平台推广怎么做
  • 网站建设营销策划书wordpress批量修改图片src
  • get写作网站深圳比较有名的外贸公司