二.栈

1.特点:先进后出

2.操作:入栈:push(),出栈:pop()。大小:size()

注意点:初始时top=-1,入栈:++top,出栈:top--

3.应用

(1)分隔符匹配问题

利用栈判断分隔符是否匹配

 1     public static void testMatch() {
 2         LinkedList stack=new LinkedList<>();
 3         String str = "12<a[b{c}]>]";
 4         char[] chs=str.toCharArray();
 5         for(char c : chs) {
 6             switch (c) {
 7             case '<':
 8             case '[':
 9             case '{':
10                 stack.push(c);
11                 break;
12             case '}':
13             case ']':
14             case '>':
15                 if(!stack.isEmpty()) {
16                     char ch=stack.pop().toString().toCharArray()[0];
17                     if(c=='}' && ch!='{' || c==']'&&ch!='[' || c=='<'&&ch!='>') 
18                         System.out.println("not Match"+ch+"-"+c);            
19                 }
20                 break;
21                 
22             default:
23                 break;
24             }
25         }
26     }
View Code
原文地址:https://www.cnblogs.com/midiyu/p/15148872.html