首页 > 其他分享 >150. 逆波兰表达式求值c

150. 逆波兰表达式求值c

时间:2024-03-13 19:23:32浏览次数:19  
标签:150 return index int char 求值 表达式

 

int cmp(int a,int b,char c){
    if(c=='+') return a+b;
    if(c=='-') return a-b;
    if(c=='*') return a*b;
    return a/b;
}

int evalRPN(char** tokens, int tokensSize) {
    int index=0;
    int* stack=(int*)malloc(sizeof(int)*tokensSize);
    int top=0;
    while(index<tokensSize){
        if(tokens[index][0]=='+'||tokens[index][0]=='/'||tokens[index][0]=='*'||(tokens[index][0]=='-'&&tokens[index][1]==0)){
            int b=stack[--top];
            int a=stack[--top];
            stack[top++]=cmp(a,b,tokens[index][0]);
        }else{
            stack[top++]=atoi(tokens[index]);
        }
        index++;
    }
    return stack[0];
}

要注意负号和-的区别。

结果:

标签:150,return,index,int,char,求值,表达式
From: https://www.cnblogs.com/llllmz/p/18071344

相关文章

  • 清易FDS-150 土壤氮磷钾传感器 工作原理
    产品概述外型小巧轻便,便于携带和连接。土壤氮磷钾测量传感器由电源模块、变送模块、漂零及温度补偿模块、数据处理模块等组成。传感器内置信号采样及放大、漂零及温度补偿功能,用户接口简洁、方便。功能及特点(1)本传感器体积小巧化设计,携带方便,安装、操作及维护简单。(2)结构......
  • 正则表达式 特殊字符
    正则表达式特殊字符匹配所有键盘上可见的非字母和数字的符号varpatrn=/[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、]/im;  if(!patrn.test(str)){//如果包含特殊字符返回false    returnfalse;  }  returntru......
  • Lambda表达式
    使用Lambda表达式进行集合遍历❌未使用Lambda表达式:Listlist=Arrays.asList("apple","banana","orange");for(Stringfruit:list){System.out.println(fruit);}✅使用Lambda表达式:Listlist=Arrays.asList("apple","banana&q......
  • lambda表达式
    本文章将简要介绍java中lambda的基本知识和使用一.lambda的构成lambda表达式的语法结构相对简单,主要由以下几个部分组成:lambda关键字: lambda关键字用于标识这是一个lambda表达式,表示即将定义一个匿名函数。参数列表: 参数列表即用括号括起来的形式参数,可以包含零个或多个......
  • 开源.NET 全能 Cron 表达式解析库(支持 Cron 所有特性)
    前言今天大姚给大家分享一个.NET全能Cron表达式解析类库,支持Cron所有特性:TimeCrontab。Cron表达式介绍Cron表达式是一种用于配置定时任务的时间表达式。它由一系列字段组成,每个字段代表任务在不同时间维度的调度规则。Cron表达式常用于各种系统中,如操作系统的定时任务、......
  • 力扣面试经典150 —— 16-20题
    力扣面试经典150题在VScode中安装LeetCode插件即可使用VScode刷题,安装DebugLeetCode插件可以免费debug本文使用python语言解题,文中“数组”通常指python列表;文中“指针”通常指python列表索引文章目录16.[困难]接雨水16.1解法1:按行计算16.2解......
  • 07-Lambda表达式
    泛型泛型(Generics)是JDK1.5版本增加的技术,他可以帮助我们建立类型安全的集合。在使用了泛型的集合中,不必进行强制类型转换。JDK提供了支持泛型的编译器,将运行时的类型检查提前到了编译时执行,使代码可读性和安全性更高。不使用泛型:publicstaticvoidmain(String[]args){......
  • 实验1 C语言开发环境使用和数据类型、运算符、表达式
    1#include<stdio.h>2intmain()3{4printf("o\n");5printf("<H>\n");6printf("II\n");78return0;9}#include<stdio.h>intmain(){printf("oo\n"......
  • 实验1 C语言开发环境使用和数据类型、运算符、表达式
    task1点击查看代码#include<stdio.h>intmain(){printf("o\n"); printf("<H>\n"); printf("II\n"); printf("o\n"); printf("<H>\n"); printf("II\n"); system("......
  • MYSQL: 表表达式(CTE)实现递归实例
    环境:MYSQL8.0 + windows10 1、在TEST数据库中创建 表CTE_TEST.CREATETABLE`test`.`cte_test`(test_idINT,test_nameVARCHAR(50),parent_test_idINT,created_byINT,creation_dateTIMESTAMP);例子数据:INSERTINTO`test`.`cte_test`(test_i......