zoukankan      html  css  js  c++  java
  • JS判断字符串小括号是否成对合法

    一、思路

    1. 要判断()是否成对;
    2. 运用栈的“后进先出“ 的特点,定义一个空数组,作为栈;
    3. for循环遍历字符串,当遇到“(”的时候就把“(”添加到空数组最顶端,push方法,记录发现一个左括号;
    4. 当遇到“)”就把数组中最顶端的元素弹出来,pop方法,抵消一个左括号。注意如果此时数组是空的,但是遇到“)”说明没有“(”缺少成对的“)”,则返回false;
    5. 不是括号的字符就不用考虑,让for循环继续执行,continue。
    6. 遍历完成后,判断栈是否为空。如果为空则表明左右括号数量刚好抵消,则返回true,否则返回false。

    二、代码

    function is_leagl_brackets(string) {
      var array = [];
      for (var i = 0; i < string.length; i++) {
        var item = string[i];
        if (item === "(") {
          array.push("(");
        } else if (item === ")") {
          if (array.length === 0) {
            return false;
          } else {
            array.pop();
          }
        } else {
          continue;
        }
      };
      return array.length === 0;
    };
    
    
    console.log("(asd):", is_leagl_brackets("(asd)"));
    console.log("asd(asd(adsfsdf(asdf())))):", is_leagl_brackets("asd(asd(adsfsdf(asdf()))))"));

    三、查看结果

      

  • 相关阅读:
    第11组(73) 需求分析报告
    第11组(73)团队展示
    结对编程作业
    第02组 Alpha冲刺 总结
    第02组 Alpha冲刺 (6/6)
    第02组 Alpha冲刺 (5/6)
    第02组 Alpha冲刺 (4/6)
    第02组 Alpha冲刺 (3/6)
    第02组 Alpha冲刺 (2/6)
    第02组 Alpha冲刺 (1/6)
  • 原文地址:https://www.cnblogs.com/hcxwd/p/10420835.html
Copyright © 2011-2022 走看看