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

外贸网站如何做推广是什么网架公司排名

外贸网站如何做推广是什么,网架公司排名,wordpress 时间函数,新乡辉县网站建设前言 思路及算法思维,指路 代码随想录。 题目来自 LeetCode。 day 11,周六,又开始变的困难了~ 题目详情 [20] 有效的括号 题目描述 20 有效的括号 解题思路 前提:括号匹配 思路:利用栈的后入先出特性&#xf…

前言

思路及算法思维,指路 代码随想录。
题目来自 LeetCode。

day 11,周六,又开始变的困难了~

题目详情

[20] 有效的括号

题目描述

20 有效的括号
20 有效的括号

解题思路

前提:括号匹配
思路:利用栈的后入先出特性,进行匹配。
重点:栈的使用。

代码实现

C语言
bool isValid(char* s) {int len = strlen(s);char stack[len];memset(stack, 0, len);int top = -1;for (int i = 0; i < strlen(s); i++){if ((s[i] == '(') || (s[i] == '[') || (s[i] == '{')){stack[++top] = s[i];}else{if (top < 0){return false;}if (((s[i] == ')') && (stack[top] != '(')) || ((s[i] == ']') && (stack[top] != '[')) || ((s[i] == '}') && (stack[top] != '{'))){return false;}top--;}}if (top >= 0){return false;}return true;
}

可以进一步过滤字符串长度为奇数的情况……

bool isValid(char* s) {int len = strlen(s);if (len % 2 != 0){return false;}char stack[len];memset(stack, 0, len);int top = -1;for (int i = 0; i < strlen(s); i++){if ((s[i] == '(') || (s[i] == '[') || (s[i] == '{')){stack[++top] = s[i];}else{if (top < 0){return false;}if (((s[i] == ')') && (stack[top] != '(')) || ((s[i] == ']') && (stack[top] != '[')) || ((s[i] == '}') && (stack[top] != '{'))){return false;}top--;}}if (top >= 0){return false;}return true;
}

[1047] 删除字符串中的所有相邻重复项

题目描述

1047 删除字符串中的所有相邻重复项
1047 删除字符串中的所有相邻重复项

解题思路

前提:删除相邻重复字母
思路:利用栈的后入先出的特性,进行匹配
重点:注意当前字母需要与栈顶元素比较。

代码实现

C语言
char* removeDuplicates(char* s) {int slen = strlen(s);char *stack = (char *)malloc(sizeof(char) * slen);memset(stack, 0, slen);int top = -1;for (int i = 0; i < slen; i++){if ((top >= 0) && (s[i] == stack[top])){stack[top] = '\0';top--;}else{stack[++top] = s[i];}}return stack;
}

[150] 逆波兰表达式求值

题目描述

150 逆波兰表达式求值
150 逆波兰表达式求值

解题思路

前提:逆波兰表达式
思路:利用栈的后入先出特性实现。
重点:注意数值可能出现负数,自实现string转换数值时,需要考虑负数情况;也可以直接使用atoi函数。

代码实现

C语言
int evalRPN(char** tokens, int tokensSize) {int stack[tokensSize];int top = -1;for (int i = 0; i < tokensSize; i++){// 判断该元素是否为算符if ((strlen(tokens[i]) == 1) && ((tokens[i][0] == '*') || (tokens[i][0] == '/') || (tokens[i][0] == '+') || (tokens[i][0] == '-'))){if (top < 1){return 0;}int val2 = stack[top--];int val1 = stack[top--];int res = 0;if (tokens[i][0] == '*'){res = val1 * val2;}else if (tokens[i][0] == '/'){res = val1 / val2;}else if (tokens[i][0] == '+'){res = val1 + val2;}else{res = val1 - val2;}stack[++top] = res;continue;}// 该元素不为算符,需要注意负数的情况int len = strlen(tokens[i]);int val = 0;for (int j = 0; j < len; j++){if (tokens[i][j] != '-'){val = val * 10 + (tokens[i][j] - '0');}}if (tokens[i][0] != '-'){stack[++top] = val;}else{stack[++top] = 0 - val;}}return stack[top];
}

也可以直接使用atoi函数转换……

int evalRPN(char** tokens, int tokensSize) {int stack[tokensSize];int top = -1;for (int i = 0; i < tokensSize; i++){// 判断该元素是否为算符if ((strlen(tokens[i]) == 1) && ((tokens[i][0] == '*') || (tokens[i][0] == '/') || (tokens[i][0] == '+') || (tokens[i][0] == '-'))){if (top < 1){return 0;}int val2 = stack[top--];int val1 = stack[top--];int res = 0;if (tokens[i][0] == '*'){res = val1 * val2;}else if (tokens[i][0] == '/'){res = val1 / val2;}else if (tokens[i][0] == '+'){res = val1 + val2;}else{res = val1 - val2;}stack[++top] = res;continue;}// 该元素不为算符stack[++top] = atoi(tokens[i]);}return stack[top];
}

今日收获

  1. 栈的使用。
http://www.yayakq.cn/news/714490/

相关文章:

  • 温州网站建设方案表一个虚拟空间做两个网站
  • 怎么制作手机网站买个域名就可以建立网站吗
  • 重庆网站建设cqhtwl梵克雅宝官网报价
  • 烟台网站制作开发添加到wordpress视频库中
  • 电脑上做网站wordpress淘客分销
  • 建设快三网站wordpress匿名投稿
  • 万网有域名怎么建网站域名防红短链接
  • 石家庄网站建设哪里好wordpress分页伪静态
  • 北京最新消息情况今天佛山网站优化服务
  • vue.js合作做网站么如何做网站美工
  • 个人做电子商务网站备案iis访问网站打开要很久
  • 如何用手机建设一个网站网络营销方式对比
  • 东莞官方网站做收费网站
  • 成都制作网站公司家庭带宽100m做网站
  • 免费的代码分享网站安庆跨境电商建站哪家好
  • 北京南站到北京站网络推广方案百度百科
  • 请简述网站建设流程图北京网站建设费用
  • 网站建设服务合约辽阳企业网站建设价格
  • 青岛seo精灵长沙关键词优化平台
  • 怎么做网站内部搜索功能现在企业做门户网站
  • 个人备案的网站名称合肥做网站加盟
  • 双线主机可以做彩票网站吗南京seo整站优化技术
  • 虚拟机做网站服务建设网站需要设备
  • 东莞网站排名优化费用如何查询自己二建的状态
  • 网站 流量 不够用煤炭网站建设规划书
  • wap网站开发招聘上海小程序网站开发公司
  • 承德的网站建设公司移动ui设计 网站
  • 网站建设越来越注重用户体验网站制作替我们购买域名
  • 杭州房价暴跌已开始最优化方法
  • 建com网站怎么做一个企业的网站