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

西安网站开发培训国内十大搜索引擎排名

西安网站开发培训,国内十大搜索引擎排名,辽宁网站建设公司电话,网站如何做修改密码的相关验证解题思路: 根据题意,字符串中包含的运算符只有和- 使用辅助栈的方法来解决该问题 定义结果集res和符号位sign(用于判断对下一数的加减操作),接着对字符串进行遍历。 如果当前字符为数字字符,判断当前字符的下一个字符是否也是数字字符&#x…

在这里插入图片描述
解题思路:

根据题意,字符串中包含的运算符只有+和-
使用辅助栈的方法来解决该问题
定义结果集res和符号位sign(用于判断对下一数的加减操作),接着对字符串进行遍历。
如果当前字符为数字字符,判断当前字符的下一个字符是否也是数字字符,如果下一个字符也是数字字符,需要将其和之后的数字字符都转换为int类型再进行合并,直至下一个字符不为数字字符为止。
如果当前字符为运算符,则更新符号位sign(加操作sign=1,减操作sign=-1)
如果当前字符为左括号,则将当前结果集推入栈中,并重置当前结果集为0,将当前符号位推入栈中,并重置当前符号位。这样做的目的是将(xxx)中的式子当成一个整体来计算。
如果当前字符为右括号,则将当前结果集与取出的第一个栈顶元素(符号位)相乘再与存入的结果集相加。
代码实现:

 public int calculate(String s) {Stack<Integer> stack=new Stack<>();int res=0;//结果int sign=1;//符号位,1代表正,-1代表为负int n=s.length();for(int i=0;i<n;i++){char c = s.charAt(i);if(Character.isDigit(c)){int cur=c-'0';while (i + 1 < n && Character.isDigit(s.charAt(i + 1))) {// i向后移动直到遇到非数字i++;// i每次向后移动一位当前值就要乘10cur = cur * 10 + s.charAt(i) - '0';}res=res+sign*cur;}//更新符号位else if(c=='+'){sign=1;}else if(c=='-'){sign=-1;}//括号的情况else if(c=='('){stack.push(res);res=0;stack.push(sign);sign=1;}else if(c==')'){res=res*stack.pop()+stack.pop();}}return res;}
http://www.yayakq.cn/news/902664/

相关文章:

  • 国外炫网站seo外链平台
  • psd网站排行榜四川省建设工程设备安全协会网站
  • 网站定制文章列表项怎么做wordpress 文字折叠
  • 有没有给人做简历的网站易点网络科技有限公司
  • 智能建站软件哪个好wordpress登录去不了后台
  • 百度搜索引擎优化的养成良好心态专业网站优化哪家好
  • 安阳市网站建设的公司html网页模板网站
  • 建设商城网站报价东莞网站优化软件
  • wcm 可以做网站吗厚街响应式网站建设
  • 吉林省做网站公司系部网站建设中期检查表
  • 石家庄营销网站建设价格企业所得税应纳税所得额怎么算
  • qqip.探测网站建设wordpress 分类目录子
  • 社团的工商年检网站在哪里做微信上可以做网站吗
  • 山海关城乡建设局网站网站系统分析
  • 巩义网络建设网站电商网站建设综述
  • 职业规划网站地产官网怎么做
  • 百度 网站改版了网站排名效果好
  • 公司网站内容模块布局商务网站建设心得
  • 建网站需要几程序员兰州网站制作有哪些
  • 企业自建网站海外广告联盟平台推广
  • 做网站如何分工学习网站建设论文
  • 山西商城网站建设网站建设怎么建设
  • 宝塔网站建设做的网站为什么图片看不了
  • php网站游客试用怎么做淘宝运营一般要学多久
  • 天津做网站的企业上海外包seo
  • 如何找到网站是谁做的2016最新wordpress模板下载
  • 书店网站建设定位及目标电子网站建设策划模板
  • 地产网站建设公司网站建设排名北京
  • 做论坛网站数据库需多大嘉祥网站建设多少钱
  • 南阳网站建站培训北京软件开发外包