蔚来7.1笔试第三题html
public static void main(String[] args) {
//System.out.println("YES");
Deque<String > st=new LinkedList<>();
Scanner in=new Scanner(System.in);
String preS = in.nextLine();
StringBuilder sb=new StringBuilder();
for (char c : preS.toCharArray()) {
if(c=='<'){
sb.append(" ");
}
sb.append(c);
if(c=='>'){
sb.append(" ");
}
}
boolean flag=true;
String[] ss = sb.toString().split(" ");
List<String > temp=new LinkedList<>();
//以上是对字符串的预处理,将字符串划分为三种类型:第一种<abc> 第二种 </abc> 第三种 非第一种和第二种
for (String s : ss) {
if(s.equals("")){
continue;
}
temp.add(s);
}
ss=temp.toArray(new String[0]);
for (String s : ss) {
if(!s.matches("</[a-z]+>")){
// System.out.println(s);
st.push(s);
}
if(s.matches("</[a-z]+>")){
if(st.isEmpty()){
flag=false;
break;
}
String pop = st.pop();
if(!pop.matches("<[a-z]+>")){
if(st.isEmpty()){
flag=false;
break;
}
pop=st.pop();
}
if(!pop.substring(1,pop.length()-1).
equals(s.substring(2,s.length()-1))){
flag=false;
break;
}
}
}
if(!st.isEmpty()){
flag=false;
}
System.out.println(flag?"YES":"NO");
} #蔚来笔试#
上海得物信息集团有限公司公司福利 1176人发布
