https://leetcode.com/problems/valid-parentheses/
题目
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.
An input string is valid if:
Open brackets must be closed by the same type of brackets.
Open brackets must be closed in the correct order.
Note that an empty string is also considered valid.
Example 1:
Input: "()"
Output: true
Example 2:
Input: "()[]{}"
Output: true
Example 3:
Input: "(]"
Output: false
Example 4:
Input: "([)]"
Output: false
Example 5:
Input: "{[]}"
Output: true
题意:判断输入的字符串(由三种括号组成),是否满足括号的规范。
AC code
class Solution {
public boolean isValid(String s) {
String str="";
for (int i = 0; i < s.length(); i++) {
char ch=s.charAt(i);
if(ch=='(') {
str+=")";
}else if(ch=='[') {
str+="]";
}else if(ch=='{') {
str+="}";
}else if(ch==')'&&str.length()!=0) {//right
if(str.charAt(str.length()-1)!=ch)
return false;
str=str.substring(0, str.length()-1);
}else if(ch==']'&&str.length()!=0) {//right
if(str.charAt(str.length()-1)!=ch)
return false;
str=str.substring(0, str.length()-1);
}else if(ch=='}'&&str.length()!=0) {//right
if(str.charAt(str.length()-1)!=ch)
return false;
str=str.substring(0, str.length()-1);
}
else {
return false;
}
}
if(str.length()!=0)
return false;
return true;
}
}