左右括弧マッチ問題
6341 ワード
問題:1つの文字列は‘('、'、'、'、'、')''、''''を含みます.括弧が合っているかどうか聞いてください.trueに戻ります.falseに戻れません.分析:状況①左括弧多false;②右括弧多false;③左右の括弧がfalse④の左右の括弧にマッチしないtrue
コード:
コード:
//
//
public static boolean isValid(String s) {
Stack<Character> stack=new Stack<>();
for(int i=0;i<s.length();i++){
char ch=s.charAt(i);
if(ch=='('||ch=='['||ch=='{'){//
stack.push(ch);
}else{
if(stack.isEmpty()){// ,
return false;
}else{
int ch1=stack.peek();
if(ch1=='('&&ch==')'||ch1=='['&&ch==']'||ch1=='{'&&ch=='}'){
stack.pop();
}else{ //
return false;
}
}
}
}
if(!stack.isEmpty()){//
return false;
}
return true;
}