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);