zoukankan      html  css  js  c++  java
  • 数据结构-队列和堆栈-javascript应用

     1 // 堆栈和队列判断回文字符串
     2 // js 队列的数组实现:arr.push()=>入队,arr.shift()=>出队
     3 // js 堆栈的数组实现: arr.unshift() =>入栈,arr.shift() => 出栈
     4 let hStr = 'abcdedcba';
     5 function isHW(hStr) {
     6     let queue = hStr.split("");
     7     let stack = hStr.split("");
     8     console.log(queue);
     9     console.log(stack);
    10     let len = queue.length;
    11     let i;
    12     for (i = 0; i < len; i++) {
    13         if (queue.pop() != stack.shift()) {
    14             return false;
    15         }
    16     }
    17     return true;
    18 }
    19 
    20 let result = isHW(hStr);
    21 console.log(result);
     1 // 利用栈判断左右括号是否匹配
     2 function validSymbol(str) {
     3     debugger;
     4     let leftS = ['(', '{', '['];
     5     let rightS = [')', '}', ']'];
     6 
     7     let leftStack = [];
     8     let lIndex = -1;
     9     let rIndex = -1;
    10     for (let s in str) {
    11         lIndex = leftS.indexOf(str[s]);
    12         rIndex = rightS.indexOf(str[s]);
    13         if (lIndex != -1) {
    14             leftStack.unshift(lIndex);
    15         } else if (rIndex != -1) {
    16             if (rIndex != leftStack.shift()) {
    17                 return false;
    18             }
    19         }
    20     }
    21     return true;
    22 }
    23 let result = validSymbol("{[())]}");
    24 console.log(result)
  • 相关阅读:
    游标
    浅析数据准备区中的数据结构
    浅析代理键替换管道
    浅析何时进行概况分析
    浅析Staging
    XHTML教程——表单
    XHTML教程——文字格式与特殊字符
    XHTML教程——列表
    XHTML教程——标签
    CSS入门教程——CSS简介
  • 原文地址:https://www.cnblogs.com/veryvalley/p/9081820.html
Copyright © 2011-2022 走看看