classSolution{publicintmaxDepth(String s){char[] chars = s.toCharArray();int[] tmp =newint[chars.length];int ans =0;int max =0;if(chars[0]=='(')
ans =1;for(int i =1; i < chars.length; i++){if(chars[i]=='('){
tmp[i]++;}if(chars[i]==')'){
tmp[i]--;}
tmp[i]+= tmp[i -1];
max = Math.max(tmp[i], max);}return ans + max;}}
本地测试代码
package com.company;publicclassSolution_1614{publicstaticintmaxDepth(String s){char[] chars = s.toCharArray();int[] tmp =newint[chars.length];int ans =0;int max =0;if(chars[0]=='(')
ans =1;for(int i =1; i < chars.length; i++){if(chars[i]=='('){
tmp[i]++;}if(chars[i]==')'){
tmp[i]--;}
tmp[i]+= tmp[i -1];
max = Math.max(tmp[i], max);}return ans + max;}publicstaticvoidmain(String[] args){
System.out.println(maxDepth(newString("(1+(2*3)+((8)/4))+1")));
System.out.println(maxDepth(newString("(1)+((2))+(((3)))")));
System.out.println(maxDepth(newString("1+(2*3)/(2-1)")));
System.out.println(maxDepth(newString("1")));}}