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

外贸网站建设厦门自媒体135客户端下载

外贸网站建设厦门,自媒体135客户端下载,newcard wordpress,wordpress二维码发布平台文章目录 栈和对列Js 有栈与队列吗20. 有效的括号 - 力扣#xff08;LeetCode#xff09;思路 1047. 删除字符串中的所有相邻重复项 - 力扣#xff08;LeetCode#xff09;思路代码分析array.join() 操作打印const s of str 操作遍历 150. 逆波兰表达式求值 - 力扣#xf… 文章目录 栈和对列Js 有栈与队列吗20. 有效的括号 - 力扣LeetCode思路 1047. 删除字符串中的所有相邻重复项 - 力扣LeetCode思路代码分析array.join() 操作打印const s of str 操作遍历 150. 逆波兰表达式求值 - 力扣LeetCode思路代码分析jsisNaN()JavaScript 位运算符 | 栈和对列 Js 有栈与队列吗 JavaScript 没有内置的栈和队列数据结构但可以使用数组来模拟它们。 栈Stack 栈是一种后进先出LIFO的数据结构。可以使用数组来实现栈使用 push() 方法向栈顶添加元素使用 pop() 方法弹出栈顶元素。 push() 方法可以接收任意数量的参数把它们逐个添加到数组末尾并返回修改后数组的长度。而 pop() 方法则从数组末尾移除最后一项减少数组的length值然后返回移除的项。 例如 // 入栈出栈---先进后出 const stack [];stack.push(1); stack.push(2); stack.push(3);console.log(stack.pop()); // 3 console.log(stack.pop()); // 2 console.log(stack.pop()); // 1队列Queue 队列是一种先进先出FIFO的数据结构。可以使用数组来实现队列使用 push() 方法向队尾添加元素使用 shift() 方法弹出队头元素。 例如 // 入队出队---先进先出 const queue [];queue.push(1); queue.push(2); queue.push(3);console.log(queue.shift()); // 1 console.log(queue.shift()); // 2 console.log(queue.shift()); // 3需要注意的是使用数组实现队列时使用 shift() 方法弹出队头元素的时间复杂度为 O(n)因为需要将数组中所有元素向前移动一位。如果需要高效地实现队列可以使用双端队列deque或循环队列circular queue。unshift()方法是向数组的开头添加一个或多个元素并且返回新的长度。 20. 有效的括号 - 力扣LeetCode 思路 代码分析 /** lc appleetcode.cn id20 langjavascript** [20] 有效的括号*/// lc codestart /*** param {string} s* return {boolean}*/ var isValid function(s) { /* 如果是左括号就把相应的右括号push压入栈如果是右括号就弹出当前栈的末尾元素pop如果匹配继续上述操作不匹配返回false当遍历完所有的字符栈里面位空则返回true*//*** eg ([(){}])* 技巧我们匹配左括号的时候可以让右括号入栈这样就只需要比较当前元素和栈顶元素是否相等*/// 1 建一个栈 数组const stack []// 2 遍历字符串for(let i 0; i s.length; i) {// 判断当前的括号是否是左括号,是左括号入栈(push()),最后入的就是栈顶元素switch (s[i]) {case (:stack.push())break;case [:stack.push(])break;case {:stack.push(})break;default:// 右括号如果跟栈顶元素(pop())不相等falseif(s[i] ! stack.pop())return false}}// 当元素遍历完了栈为空那么返回truereturn stack.length 0 }; // lc codeend1047. 删除字符串中的所有相邻重复项 - 力扣LeetCode 思路 代码分析 /** lc appleetcode.cn id1047 langjavascript** [1047] 删除字符串中的所有相邻重复项*/// lc codestart /*** param {string} s* return {string}*/ var removeDuplicates function(s) {/*** 删除相邻相同的字符重复删除直至无法删除入栈出栈*/// 1 创建栈const stack []// 2 遍历字符串for(const x of s) {// 使用c记录弹出的元素是否与当前遍历元素一样不一样需要把c压回栈中let c null// 3 栈不为空且当前的字符 弹出的字符 跳出循环继续遍历if(stack.length x (c stack.pop())) continue// 4 当前字符和弹出字符不一致时且c存在栈空的时候不存在我们把c继续压入栈中继续进行匹配c stack.push(c)// 5 如果弹出字符没有与当前字符x相等,则把当前的x压入栈stack.push(x)}// 6 返回当前栈 且去掉分隔符return stack.join() }; // lc codeendarray.join() 操作打印 const s of str 操作遍历 150. 逆波兰表达式求值 - 力扣LeetCode 思路 代码分析 /** lc appleetcode.cn id150 langjavascript** [150] 逆波兰表达式求值*/// lc codestart /*** param {string[]} tokens* return {number}*/ var evalRPN function(tokens) {/*** 逆波兰:后序遍历,我们需要得到正常的表达式(中序遍历,左根右)来计算* 思路:遇到数字,入栈,遇到符号,我们就弹出两个数字n2,n1,进行计算,再把结果压入栈,之后继续判断是否遇到数字还是符号*/// 1 创建栈const stack []// 2 遍历字符串for(const token of tokens) {// 3 如果是数字(需要把字符串强制转成数字类型),压入栈if(!isNaN(Number(token))) {stack.push(Number(token))}else {// 4 不是数字,弹出两个数字,判断符号,再进行运算,结果压入栈,继续判断是否是数字const n2 stack.pop()const n1 stack.pop()switch (token) {case :stack.push(n1 n2)break;case -:stack.push(n1 - n2)break;case *:stack.push(n1 * n2)breakcase /:// 取整操作 | 0 保留整数部分// stack.push(n1 / n2 | 0)stack.push(parseInt(n1/n2))breakdefault:break;}}}// 5 直到最后计算完全部,压入的最后一个值,就是最终结果return stack[0]}; // lc codeendjsisNaN() JavaScript isNaN() 函数 isNaN()是JavaScript中的一个函数用于检查一个值是否是非数字NaNNot a Number。 语法 isNaN(value) 参数 value需要检查的值。 返回值 如果value是NaN返回true否则返回false。 示例 isNaN(123) // false isNaN(123) // false isNaN(hello) // true isNaN() // false isNaN(null) // false isNaN(undefined) // true isNaN(NaN) // true注意如果参数不是数值类型isNaN()会尝试将其转换为数值类型如果无法转换则返回true。例如字符串hello无法转换为数值类型所以isNaN(hello)返回true。 JavaScript 位运算符 | JavaScript 运算符 | 菜鸟教程 JavaScript 取整函数_js 取整_不见舟的博客-CSDN博客 javascript位运算技巧有点错误可在控制台检测
http://www.w-s-a.com/news/809536/

相关文章:

  • 2018网站建设行业广东网站seo
  • 网站后台加密云服务器2008做网站
  • dw制作一个环保网站模板下载吉安网站建设收费
  • 深圳珠宝网站设计北京高端网站建设优势
  • 合肥企业制作网站wordpress创建网站
  • 织梦网站开发兼职wordpress 中间截取缩略图
  • 南通制作网站旅游搭建网站
  • 专业做商铺的网站个人网页html模板完整代码
  • 什么网站做美食最好最专业关键词推广是什么意思
  • 自助建设网站软件网站导航网站可以做吗
  • 网站模板放哪长沙网站优化分析
  • 泉州网站建设价钱网站模板素材
  • 南通网站托管js建设网站外网
  • 成都企业网站公司wordpress内页模板
  • 58同城建网站怎么做wordpress评论显示数字ip
  • 免费制作论坛网站模板免费下载北京网站制作长沙
  • 旅游网网站建设网站如何自己做seo
  • 如何验证网站所有权做二手家具回收哪个网站好
  • 做哪种网站赚钱项目开发流程
  • 网站建设和网站网络推广网站建设软件定制
  • 站长工具网址查询全球云邮登陆网站
  • 宁波 住房和建设局网站网上发帖推广
  • 平面设计在线网站工业设计公司有哪些
  • 福州网站设计外包公司网站做的比较好
  • 如何设计网站首页网站开发综合技能实训心得体会
  • 用织梦做的网站好用吗w网站链接如何做脚注
  • 东莞做网站公司在哪哪里有网站培训的
  • 做宣传 为什么要做网站那重庆网站建设公司在线联系
  • 网站设计制作售价多少钱制作图片的软件是
  • 网站验证码目录简单带数据库的网站模版