`

LeetCode 227 - Basic Calculator II

 
阅读更多

Implement a basic calculator to evaluate a simple expression string.

The expression string contains only non-negative integers, +-*/ operators and empty spaces . The integer division should truncate toward zero.

You may assume that the given expression is always valid.

Some examples:

"3+2*2" = 7
" 3/2 " = 1
" 3+5 / 2 " = 5

 

Note: Do not use the eval built-in library function.

和本博客下面连接的题目一模一样,这里再写一遍。

http://yuanhsh.iteye.com/blog/2194524

 

public int calculate(String s) {
    String[] arr = s.split("[\\+\\-\\*\\/]");
    String[] ops = s.split("\\d+");
    int n = arr.length;
    int[] nums = new int[n];
    for(int i=0; i<n; i++) {
        nums[i] = Integer.parseInt(arr[i].trim());
    }
    for(int i=1; i<n; i++) {
        char op = ops[i].trim().charAt(0);
        if(op == '-') {
            nums[i] = -nums[i];
        } else if(op == '*') {
            nums[i] = nums[i-1]*nums[i];
            nums[i-1] = 0;
        } else if(op == '/') {
            nums[i] = nums[i-1]/nums[i];
            nums[i-1] = 0;
        }
    }
    int sum = 0;
    for(int num:nums) sum += num;
    return sum;
}

  

分享到:
评论

相关推荐

    java-leetcode题解之Basic Calculator II.java

    Java实现LeetCode基础计算题第二部分(Basic Calculator II)主要涉及计算只包含加减乘除四种运算符的字符串表达式。在编程时,需要考虑表达式的处理顺序以及操作数和运算符之间的关系。具体的算法思路是首先将问题...

    c语言-leetcode题解之0227-basic-calculator-ii

    c c语言_leetcode题解之0227_basic_calculator_ii

    leetcode1-240题中文题解,md格式,java

    2. leetcode-224-Basic-Calculator.md:这是第224题,基础计算器,要求设计一个程序来解析并执行简单的数学表达式。 3. leetcode-214-Shortest-Palindrome.md:第214题,寻找最短回文串,可能涉及到字符串操作和动态...

    java-leetcode题解之Basic Calculator.java

    LeetCode作为一个流行的在线编程练习平台,提供了大量的编程题目,帮助程序员提升算法技能,其中包括了多种难度的题目,例如Basic Calculator。Basic Calculator这道题目要求编写一个能够计算基本算术表达式(只包括...

    c语言-leetcode题解之0224-basic-calculator

    c c语言_leetcode题解之0224_basic_calculator

    LeetCode最全代码

    462 | [Minimum Moves to Equal Array Elements II](https://leetcode.com/problems/minimum-moves-to-equal-array-elements-ii/) | [C++](./C++/minimum-moves-to-equal-array-elements-ii.cpp) [Python](./Python/...

    基本计算器leetcode-Strings-3:字符串-3

    在这个场景中,我们关注的是两个与字符串处理相关的LeetCode问题:将整数转化为英文单词(Problem1 - Integer to English Words)以及实现一个基本的计算器(Problem2 - Basic Calculator)。这两个问题都是字符串...

    Leetcode题目+解析+思路+答案.pdf

    - **Basic Calculator II**:实现一个基本计算器,读取一个表达式并返回计算结果。 本书通过实际编程案例,讲解了各种算法思想和技巧,涵盖了从基础的数据结构(如数组、链表、树)到复杂的问题解决策略(如动态...

    Basic-calculator-interpreter:解决leet代码的基本计算器问题

    本项目“Basic-calculator-interpreter”便是针对这一问题的解决方案,使用Go语言进行编写。 Go语言,又称为Golang,是Google开发的一种静态类型的、编译型的、并发型且具有垃圾回收功能的编程语言。其简洁的语法和...

    LeetCode leetcode部分题解答代码实现

    * Basic Calculator II:给定一个字符串,返回其计算结果。这个题目需要使用数学的思想,将字符串分解成更小的子字符串,并计算其结果。 LeetCode 中有很多关于数组、链表、树、动态规划、回溯算法、贪心算法、数学...

    LeetCode:LeetCode问题

    LeetCode ### LeetCode算法 # 标题 解决方案 困难 日期 239 [C ++](./算法/滑动窗口最大值/Source.cpp) 难的 2015年8月5日 ...[C ++](../ Algorithms /使用... [C ++](./ Algorithms / Basic Calculator II / Sour

    LeetCode练习答案

    - **基本计算器II(Basic Calculator II)**: 给定一个字符串表达式,实现一个基本计算器来计算并返回结果。 以上总结仅为部分知识点的简述,对于每一个具体的算法问题,都有其独特的解决思路和技巧,建议深入研究每...

    leetcode添加元素使和等于-njuee_LeetCode_Solutions:本仓库主要记录平时遇到的一些编程问题、算法、思路

    leetcode添加元素使和等于 本项目为Njueers所共享 仓库内容主要为平时刷题的submit、遇到的一些经典题解、coding时所作的笔记等 Basic Knowledge文件夹下为一些基础但相对重要的C++知识点/笔记 Cpp文件夹下主要为...

Global site tag (gtag.js) - Google Analytics