It's irrelevant from a performance standpoint.
First there's a reasonably high probability that the runtime will re-using the single variable even in the second example.
Next, even if it doesn't, allocating an additional int to the stack and then reclaiming it later costs literally nothing in performance. It makes the memory footprint of this method 4 bytes larger; that's it. If that's actually an issue for you (namely that you're running out of stack space) then you have larger problems that you need to resolve and this isn't the appropriate method to do so; it probably means you should turn a recursive function into a non-recursive function.
You should do whatever you find to be most readable or easier to write and least likely to cause errors or problems. For me that's virtually always the second case, but if you prefer writing out the first case (and your team is okay with that) then that's entirely up to you, just keep in mind that performance is an entirely non-factor here.