Complexity calculation of a recursive function with additional O(n) complexity There is a method that I want to calculate its complexity in asymptotic notation. It calls additional methods(equals and substring) which complexity is $O(n)$. If it was $O(1)$, I could figure out complexity of the calling method. I have tried some operations; however, I'm stuck on calculation with the additional part. Can you solve its complexity with steps?

public static int func(String x)
   if(x == null || x.equals(""))
      return 0;
   else
      return 1 + func(x.substring(1));
The question is absolutely not answerable without knowing what aFunctionWhichComplexityisO(n) returns. 

Assuming that the function takes x as an argument, it might for example check if x contains the decimal representation of an integer y, and returns a string with the decimal representation of y-1 if y > 0, and null if y ≤ 0 or x does not contain the decimal representation of an integer. 

In that case if x contains n characters, the time is $O (n·10^n)$. 

Or the function always returns null, then the time is $O (n)$.