Frame trace
Suppose rev called in main as: t = rev(“abc”);
F0: first frame for rev. s “abc”
Called from main, frame M0
M0: frame for main. t ____
F2: second frame for rev. s “bc”
Called from rev inside rev, frame F1
F3: third frame for rev. s “c”
Called from rev inside rev, frame F2
//Return the reverse of string s.
public static String rev(String s) {
if (s.length( ) <= 1) return s;
rev(s.substring(1)) + s.charAt(0);