我在這裏是新的,我有點卡住了。 我創建了一個遞歸算法,使用一個全局變量來記住他進行遞歸調用的位置,我試圖擺脫這個變量,對我來說這似乎不是一個好的解決方案。使用遞歸算法的中綴表示法的前綴
有沒有機會擺脫這個全局變量?我無法調整方法頭,因此方法的接口是固定的。
在這裏你可以看到我的代碼:
static int pos = -1;
static boolean writeInfix(char[] expr) {
boolean result;
pos++;
int printpos = pos;
if(expr[pos]=='+'||expr[pos]=='-'||expr[pos]=='/'||expr[pos]=='*'){
System.out.print("(");
writeInfix(expr);
System.out.print(expr[printpos]);
result = writeInfix(expr);
System.out.print(")");
return result;
}else if(expr[pos] >= 'a' && expr[pos] <= 'z'){
System.out.print(expr[pos]);
return true;
}else{
return false;
}
}
謝謝您的幫助:)
謝謝你的幫助! :) – Skloli