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

深圳火狼设计公司招聘网站网站收录查询系统

深圳火狼设计公司招聘网站,网站收录查询系统,怎么做app推广和宣传,深圳php电商网站开发一、题目描述 给你一个字符串表达式 s #xff0c;请你实现一个基本计算器来计算并返回它的值。 注意:不允许使用任何将字符串作为数学表达式计算的内置函数#xff0c;比如 eval() 。 示例 1#xff1a; 输入#xff1a;s 1 1 输出#xff1a;2示例 2请你实现一个基本计算器来计算并返回它的值。 注意:不允许使用任何将字符串作为数学表达式计算的内置函数比如 eval() 。 示例 1 输入s 1 1 输出2示例 2 输入s 2-1 2 输出3示例 3 输入s (1(452)-3)(68) 输出23提示 1 s.length 3 * 105s 由数字、、-、(、)、和   组成s 表示一个有效的表达式 不能用作一元运算(例如 1 和 (2 3) 无效)- 可以用作一元运算(即 -1 和 -(2 3) 是有效的)输入中不存在两个连续的操作符每个数字和运行的计算将适合于一个有符号的 32位 整数 二、思路分析 三、代码参考 1、Java class Solution {public int calculate(String s) {// 创建栈空间StackInteger stack new Stack();// 用来表示正负号1 为 -1 位 - 默认为正数int sign 1;// 用来记录运算结果int result 0;// 循环遍历字符串for(int i 0; i s.length(); i){// 获取当前字符char str s.charAt(i); // 判断是否为数字类型if(Character.isDigit(str)){// 通过 - 0 这个操作把字符转换为整数int value str - 0;// 查看后面是否字符仍为数字即数字是否为多位数如果是需要拼接好数字while(i 1 s.length() Character.isDigit(s.charAt(i 1))){// i 向后移动i;// 数字拼接如// 12 1 * 10 2// 123 12 * 10 3value value * 10 s.charAt(i) - 0;}// 把获取到的结果赋值给 resultresult result sign * value;} // 如果是 符号则 sign 为 1else if(str ){sign 1;}// 如果是 - 符号则 sign 为 -1else if(str -){sign -1;}// 判断是否是 (else if(str (){// 先把在遇到 ( 之前的结果放入到栈中stack.push(result);// 然后 result 结果置空为了等下计算括号里面的结果result 0;// 再把左括号前面的符号放入到栈中stack.push(sign);// 回归默认值sign 1;}// 判断是否为 )else if(str )){// 取出栈顶的元素此时的栈顶元素是 ( 前的符号int symbol stack.pop();// 再获取栈顶元素此时的栈顶元素是 ( 前的运算结果int stackResult stack.pop();// 计算结果并将结果赋值给 resultresult stackResult symbol * result;}}// 返回结果return result;} } 2、Python class Solution(object):def calculate(self, s):# 创建栈空间stack list()# 用来表示正负号1 为 -1 位 - 默认为正数sign 1# 用来记录运算结果result 0# 初始化 i i 0# 循环遍历字符串while i len(s):# 获取当前字符str s[i]# 空字符不需要做处理下一个就好if str :i 1# 判断是否为数字类型elif str.isdigit() :# 把字符类型转换成数字类型value ord(s[i]) - ord(0)# 查看后面是否字符仍为数字即数字是否为多位数如果是需要拼接好数字while i 1 len(s) and s[i 1].isdigit():# i 向后移动i 1# 数字拼接如# 12 1 * 10 2# 123 12 * 10 3value value * 10 ord(s[i]) - ord(0)# 把获取到的结果赋值给 resultresult value * signi 1# 如果是 符号则 sign 为 1elif str :sign 1i 1# 如果是 - 符号则 sign 为 -1elif str - :sign -1i 1# 判断是否是 (elif str ( :# 先把在遇到 ( 之前的结果放入到栈中stack.append(result)# 然后 result 结果置空为了等下计算括号里面的结果result 0# 再把左括号前面的符号放入到栈中stack.append(sign)# 回归默认值sign 1i 1# 判断是否为 )elif str ) :# 取出栈顶的元素此时的栈顶元素是 ( 前的符号symbol stack.pop()# 再获取栈顶元素此时的栈顶元素是 ( 前的运算结果stackResult stack.pop()# 计算结果并将结果赋值给 resultresult stackResult symbol * result i 1# 返回结果return result
http://www.zqtcl.cn/news/453525/

相关文章:

  • 手机网站域名设置深圳的网站建设公司怎么样
  • 余姚网站建设设计服务cms网站源码
  • 工作是套模板做网站想做网站制作运营注册什么公司核实
  • 北京网站建设116networdpress导航栏下拉菜单
  • 医院网站建设的目标网络服务许可证
  • 市场部做网站工作职责晋江论坛网
  • 网站怎么吸引人网站优化策略分析
  • 河北建设厅网站衡水网站建设培训学校
  • 新网网站空间到期停了 咋续费网站营销推广应该怎么做
  • 网站建设和编辑实训报告安卓版网页制作软件
  • 网站模板框架站长资讯
  • 上海做网站哪家公司2022年国际国内重大新闻
  • 网站建设如何定位网站建设思路方向
  • 手机网站拦截怎么解除网站生成软件免费制作
  • 中国房地产网站茂名住房和城乡建设厅网站
  • 做网站销售工资怎么样网页设计是哪个专业
  • 吉林省住房城乡建设厅网站首页微商城模板包含哪些
  • 优秀个人网站案例wordpress 文章格式
  • 2019年做网站装修平面设计图的制作
  • 潍坊网站建设top淘宝客网站名
  • 怎么给网站做外链网上接效果图平台
  • 电影网站建设教程下载怎么经营团购网站
  • 做网站卖什么建设银信用卡网站首页
  • 大连市城乡建设档案馆网站网上竞价采购网站建设
  • 国际物流公司网站建设浏览器正能量网站免费图片
  • 河南做外贸网站的公司怎么做家庭网站
  • 知名营销类网站互联网软件开发是什么工作
  • 做网站前新闻录入网站模板
  • 网站域名做跳转要收费吗科技信息期刊
  • 登别的网站应怎么做网站推广广告词大全集