列如輸入這樣的一個數組['aeb','abe','rty','asd'],咱們需將相同字母組成的分類輸出的,最後應該輸出結果分別爲java
['aeb','abe'] ,數組
['rty'],app
['asd']函數
這時候咱們首先就須要想到先將每一個元素的字母按照字母排序,不一樣的符號的ASCII碼是不同的;而後就經過循環裏面增長內循環來進行hashCode比較。spa
代碼如圖:code
有效字符串需知足:對象
左括號必須用相同類型的右括號閉合。blog
左括號必須以正確的順序閉合。排序
注意空字符串可被認爲是有效字符串。字符串
代碼以下:
public boolean isValid(String s) { Stack<Character> stack = new Stack<Character>(); for (char alp : s.toCharArray()) { if (alp == '(') { //說明須要含有閉合 stack.push(')'); } else if (alp == '[') { stack.push(']'); } else if (alp == '{') { stack.push('}'); } //stack.app()移除堆棧頂部的對象,並做爲此函數的值返回該對象。 返回]值與alp比較 else if (stack.isEmpty() || stack.pop() != alp) { System.out.println("錯誤"); return false; } } //若是stack爲空則正確,不然說明還有符號沒有對應上,形成stack不是空的 if(stack.isEmpty()){ System.out.println("正確"); }else{ System.out.println("錯誤"); } return stack.size()==0?true:false; }