您的位置:首页 > 其它

括号匹配问题

2017-04-08 20:15 218 查看
功能描述:判断一个字符串中的”( )”是否配对、

输入:if(a.equals(a))

输出:true

输入:())()

输出:false

package 华为机试题;

import java.util.LinkedList;

/**
* @author Hutongling
*
* @time:2017年4月8日 下午7:48:17
*/

public class 括号配对 {

static boolean isBrackets(String string){
if(string==null || string.length()==0)
return false;
LinkedList<Character> list=new LinkedList<>();
for(int i=0;i<string.length();i++){
if(string.charAt(i)=='(')
list.push(string.charAt(i));
else
if(string.charAt(i)==')' && list.size()!=0)
list.pop();
else if(string.charAt(i)==')' && list.size()==0)
return false;
}
if(list.size()==0)
return true;
else
return false;
}

public static void main(String[] args) {
String string="()()()";
System.out.println(string + "中的括号" + (isBrackets(string)==true? "能配对":"不能配对"));
String string1="(()()()";
System.out.println(string1 + "中的括号" + (isBrackets(string1)==true? "能配对":"不能配对"));
String string2="()()())";
System.out.println(string2 + "中的括号" + (isBrackets(string2)==true? "能配对":"不能配对"));
}

}


代码结果:

()()()中的括号能配对

(()()()中的括号不能配对

()()())中的括号不能配对
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: