对于判断字符串格式的这一类问题,解决办法由很多,最先想到得方法就是采用正则表达式。
当然对于题目中的这种情况,也可以采用Stack的方式来实现。
采用stack的实现如下:
/**
*
* @param s 正确形式如((()))
* @return
*/
public static boolean checkFormat(String s){
boolean result = false;
char[] array = s.toCharArray();
Stack<Character> stack = new Stack<Character>();
try{
for(char e : array){
if(e == '('){
stack.add(e);
}
if(e == ')'){
stack.pop();
}
}
result = (stack.empty() ? true : false);
}catch(EmptyStackException e){
}
return result;
}
当然对于题目中的这种情况,也可以采用Stack的方式来实现。
采用stack的实现如下:
/**
*
* @param s 正确形式如((()))
* @return
*/
public static boolean checkFormat(String s){
boolean result = false;
char[] array = s.toCharArray();
Stack<Character> stack = new Stack<Character>();
try{
for(char e : array){
if(e == '('){
stack.add(e);
}
if(e == ')'){
stack.pop();
}
}
result = (stack.empty() ? true : false);
}catch(EmptyStackException e){
}
return result;
}
本文介绍了一种使用Stack数据结构来检查字符串中括号是否正确配对的方法。通过遍历输入字符串,遇到左括号将其压入栈,遇到右括号则尝试从栈中弹出左括号进行匹配。最终栈为空则表示所有括号正确配对。
6119

被折叠的 条评论
为什么被折叠?



