您的代碼具有O(n)時(shí)間復(fù)雜度,我認(rèn)為這對(duì)于這個(gè)問(wèn)題來(lái)說(shuō)是最快的。但是您沒(méi)有利用StringBuilder,而是使用耗時(shí)的字符串連接。這是優(yōu)化后的版本:public static void main(String[] args) throws IOException { BufferedReader bi = new BufferedReader(new InputStreamReader(System.in)); String line = bi.readLine(); String[] input = line.split(" "); StringBuilder builder = new StringBuilder(); Stack<String> stack = new Stack<String>(); for(String e:input) { switch(e) { case("+"): case("-"): case("*"): case("/"): String i = stack.pop(); String k = stack.pop(); builder.setLength(0); builder.append("("); builder.append(k).append(e).append(i); builder.append(")"); stack.push(builder.toString()); break; default: stack.push(e); } } System.out.println(stack.pop()); }
從 SQLite 獲取 ArrayList<String>
www說(shuō)
2021-08-25 15:36:29