程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> LeetCode之逆波蘭式求解

LeetCode之逆波蘭式求解

編輯:C++入門知識

LeetCode之逆波蘭式求解


計算逆波蘭式子:

有效的操作只有 +, -, *, /. 每一個輸入不是一個整數就是一個操作符。

Some examples:

  ["2", "1", "+", "3", "*"] -> ((2 + 1) * 3) -> 9
  ["4", "13", "5", "/", "+"] -> (4 + (13 / 5)) -> 6

#include
#include
#include
using namespace std;

const int Max=100;
bool isInt(const string str)
{
  
  if(str[0]=='+'||(str[0]=='-'&&str.size()==1)||str[0]=='*'||str[0]=='/')
   return false;
  else return true;
}
int toInt(string str)
{
   int re=0;
   //cout<<"str: "< &tokens)
{
  double  values[Max]={0};
  int k=0;
  vector oper;
  double result=0;

  for(int i=0;i token(str,str+5);
     cout<

代碼中用數組模擬類一個棧的操作。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved