Java 有效的括号

有效的括号

简单

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

有效字符串需满足:

  1. 左括号必须用相同类型的右括号闭合。
  2. 左括号必须以正确的顺序闭合。
  3. 每个右括号都有一个对应的相同类型的左括号。

示例 1:

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

示例 2:

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

示例 3:

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

题解

先创建一个map用来存放括号,把括号的左右分别作为键值存入。

for循环遍历字符串括号,如果map中包含括号,则用该map对应的值与字符串i+1进行比较,如果不相等返回false,代码最后返回true,条件+2,因为括号是成对的。

class Solution {
    public boolean isValid(String s) {
		Map map = new HashMap<>();
		map.put('(', ')');
		map.put('[', ']');
		map.put('{','}');
		for(int i = 0;i < s.length();i+=2) {
			if(i+1 >= s.length()) {
				break;
			}
			if(map.containsKey(s.charAt(i))) {
				Character value = map.get(s.charAt(i));
				if(value != s.charAt(i+1)) {
					return false;
				}
			}
		}
		return true;
    }
}

你可能感兴趣的:(java,leetcode)