有效的括号

给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。

有效字符串需满足:

1、左括号必须用相同类型的右括号闭合。
2、左括号必须以正确的顺序闭合。

示例 1:

输入:s = "()"
输出:true


示例 2:

输入:s = "()[]{}"
输出:true


示例 3:

输入:s = "(]"
输出:false


示例 4:

输入:s = "([)]"
输出:false


示例 5:

输入:s = "{[]}"
输出:true

提示:

  • 1 <= s.length <= 104
  • s 仅由括号 '()[]{}' 组成

解题思路

1.循环遍历字符串根据题目的要求将()、{}、[]替换为空
2.循环的条件为s长度的一半
3.返回s的长度是否等于0

参考代码:

package com.gong;

public class KuoHao {
    public static boolean solution(String s){
        int length=s.length()/2;
        for(int i=0;i<length;i++){
            s=s.replace("()","").replace("[]","").replace("{}","");
        }
        return s.length()==0;
    }
    public static void main(String[] args){
            String s1="{[()]}";
            String s2="{}[]()";
            String s3="{{{}}}}}{}[][[[[[))))";
            boolean result1=solution(s1);
            boolean result2=solution(s2);
            boolean result3=solution(s3);
            System.out.println("result1="+result1);
            System.out.println("result2="+result2);
            System.out.println("result3="+result3);
    }
}
原文地址:https://www.cnblogs.com/braveym/p/14968033.html