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

网站充值如何做post的荆门刚刚发布的

网站充值如何做post的,荆门刚刚发布的,有哪些可以做翻译的网站,一个人可以做网站目录: 力扣 20. 有效的括号力扣 1047. 删除字符串中的所有相邻重复项力扣 150. 逆波兰表达式求值 问题一、 20. 有效的括号 题目链接:20. 有效的括号 - 力扣(LeetCode) 思路分析: 很多朋友刚开始接触这一类题的时候…

目录:

  1.  力扣  20. 有效的括号
  2. 力扣  1047. 删除字符串中的所有相邻重复项
  3. 力扣  150. 逆波兰表达式求值

问题一、 20. 有效的括号

题目链接:20. 有效的括号 - 力扣(LeetCode)
思路分析:

      很多朋友刚开始接触这一类题的时候 , 可能会没有思路

       1、使用栈来解决。

       2、遍历字符串,遇到左括号(  " { " 、" [ "、" ( " ),我们将右括号压入栈中。

       3、当我们遇到右括号时,则和栈顶元素进行匹配,如果不相等则说明没有有效的括号。如果         相等,则匹配成功,将其出栈。

       4、循环结束之后,如果栈为空,则说明括号是有效的。

文章讲解/视频讲解(代码随想录):  代码随想录

问题解答:

bool isValid(string s) {stack< char >st;   //定义一个栈//要括号都匹配,说明传入的字符串一定是偶数if( s.length() %2!=0)  return false;for(int i = 0 ;i < s.length() ; i++){if( s[i]=='('){st.push( ')' );continue;}else if( s[i] == '{'){st.push( '}' );continue;}else if( s[i]== '['){st.push( ']' );continue;}//开始匹配else if( st.empty()!=true && s[i]==st.top()){st.pop();continue;} else {return false;}}if(st.empty()){return true;}return false;
}

问题二、1047. 删除字符串中的所有相邻重复项

题目链接:1047. 删除字符串中的所有相邻重复项 - 力扣(LeetCode)
思路分析:

  1. 利用栈的特性 ,用来记录字符串中已经遍历的数据
  2. for 循环遍历字符串 , 如果我们的当前字符和栈顶元素相同,则出栈,不同则将其压入栈
  3. 最后我们需要元素就是栈中的元素,但是我们需要注意的是 , 栈中元素和我们想要的顺序是相反的。
  4. 提示我们使用字符串来模拟栈的操作

文章讲解/视频讲解 (代码随想录) :  代码随想录

问题解答:

tring removeDuplicates(string s) {string ret;    //用来记录我们遍历过的数据(用字符串来模拟栈的结构)for(int i=0 ; i<s.length() ; i++ ){//每遍历一个元素都要和栈中的元素进行比较if(ret.empty() || ret.back()!=s[i]){    //不相等的情况ret.push_back(s[i]);}else {ret.erase(ret.end()-1);}}return ret;
}

问题三、150. 逆波兰表达式求值

问题链接:150. 逆波兰表达式求值 - 力扣(LeetCode)
思路分析:

  1. 还是利用栈的特性( 可以记录当前元素的前一个数据 )。
  2. 遍历字符串,将整数依次放入栈中,如果遇到有效运算符,这从栈中取出两个数据进行计算

  3. 将计算的结果再次放入栈中。

  4. 最后栈中剩余的元素,就是我们表达式的值。

  5. 这里我们想要主要的是 ,从栈中取出的两个元素  ,在进行运算的时候,是后一个元素放在前面,比如取出的数据是  a,b   。操作时应该是 b-a  |   b*a。

  6. 补充:  C++ 中  std::stoi(string to integer)将字符串转换为整数类型。

文章 | 视频讲解(代码随想录):代码随想录


问题解答:

我这里给出的过程比较冗余,大家可以改进优化一下.

class Solution {
public:void getAB(int &a,int &b){a=st.top();st.pop();b=st.top();st.pop();
}
int evalRPN(vector<string>& tokens) {//2. 遍历字符串,将整数依次放入栈中,如果遇到有效运算符,这从栈中取出两个数据进行计算//3. 将计算的结果再次放入栈中 int a=0 , b=0, temp=0;for(int i=0 ; i < tokens.size() ; i++){if( tokens[i]=="*" ){getAB(a,b);temp = a*b;st.push(temp);continue;}else if( tokens[i]=="/" ){getAB(a,b);temp=b/a;st.push(temp);continue;}else if( tokens[i]=="+" ){getAB(a,b);temp=a+b;st.push(temp);continue;}else if( tokens[i]=="-" ){getAB(a,b);temp=b-a;st.push(temp);continue;}else{st.push(std::stoi(tokens[i]) );}}return st.top();
}
private://1. 定义一个栈stack< int >st;
};

总结:

栈的应用场景

合适做一些类似于爱消除的操作,因为栈帮助我们记录了 遍历数组当前元素时候,前一个元素是什么。

http://www.ds6.com.cn/news/31697.html

相关文章:

  • wordpress 编辑器添加自定义按钮西昌seo快速排名
  • 衣服网站建设策划书东莞seo建站优化哪里好
  • 镇江网站搜索引擎优化西安网是科技发展有限公司
  • 青浦做网站百度旅游官网
  • 中国营销传播网appseo研究协会网是干什么的
  • 网站访问不了的原因网络推广怎么找客户
  • 网站建设 比选制作一个网页的步骤
  • 网站支付功能建设百度seo可能消失
  • 网站开发和软件测试友情链接免费发布平台
  • 门窗 东莞网站建设新闻稿件代发平台
  • wordpress cdn 部署黄石seo诊断
  • 如何学做网站全套教程长春网站建设公司哪个好
  • 广州个人网站备案要多久品牌seo培训
  • 网站设计稿尺寸网络营销公司名字大全
  • wordpress前端上传头像优化是什么意思
  • 品牌营销推广公司泰安seo推广
  • 网站营销的流程百度seo发帖推广
  • 综合网站开发seo网络推广经理招聘
  • 淮南网站制作公司软文文案案例
  • 花生壳做的网站稳定吗seo在线优化网站
  • 站长要维护网站企业网络营销策略分析案例
  • 乌鲁木齐做网站价格廊坊网站设计
  • 巢湖做网站的公司国外最好的免费建站
  • 没固定ip怎么做网站百度搜索指数是怎么计算的
  • 自己建设网站要花多少钱网络安全培训机构排名
  • 专业律所网站建设个人网站首页设计
  • 潍坊专业网站建设哪家好自动点击器
  • Gzip 网站 能够压缩图片吗南通网络推广
  • 网站关键词代码湖北网站seo
  • 在线crm在线oa免费观看西安官网seo技术