Java-绘制递归调用的图表

Java-绘制递归调用的图表,java,recursion,Java,Recursion,我有以下代码 public static int unknown(String x) { if ((x.length()==1) && (x.equals("1"))) return 1; else if ((x.length()==1) && (x.equals("0"))) return 0; else if (x.charAt(x.length()-1)=='1') return 1+ 2*unknown(x.substri

我有以下代码

public static int unknown(String x)
{
if ((x.length()==1) && (x.equals("1")))
    return 1;
else if ((x.length()==1) && (x.equals("0")))
        return 0;
else if (x.charAt(x.length()-1)=='1')
     return 1+ 2*unknown(x.substring(0,x.length()-1));
else
    return 0+2*unknown(x.substring(0,x.length()-1));
}
我的教授说我必须绘制递归调用的图表。他在说什么样的图表?我应该如何展示它?谢谢

另外,正在调用的字符串是“101011”,或43


-Dan

他希望您绘制一棵树,其中每个节点都是对函数的调用,并指向它所进行的子调用。

例如,“101”的图表如下所示:

unknown(101)
 -> 1 + 2 * unknown(10) 
   -> 1 + 2 * (0 + 2 * unknown(1))
     -> 1 + 2 * (0 + 2 * 1)
   -> 1 + 2 * 2
 -> 5

告诉你的教授基本情况下的长度检查是不必要的。未知(“101011”)将使用与Victor在回答未知(“101”)时相同的方法绘制图表。