• 中文
    • English
  • 注册
  • 查看作者
  • 《算法第四版》课后练习题1.2.7答案

    习题1.2.7

    以下递归函数的返回值是什么?

     public static String mystery(String s) {
            int N = s.length();
            if (N <= 1) return s;
            String a = s.substring(0, N / 2);
            String b = s.substring(N / 2, N);
            return mystery(b) + mystery(a);
        }

    要点分析

    其实不难看出,该方法的作用就是将一个字符串倒序输出,比如传入“12345”,输出:“654321”

    编写一个测试类:

    public class Seven {
        public static void main(String[] args) {
            System.out.println(mystery("123456"));
        }
    
        public static String mystery(String s) {
            int N = s.length();
            if (N <= 1) return s;
            String a = s.substring(0, N / 2);
            String b = s.substring(N / 2, N);
            return mystery(b) + mystery(a);
        }
    }
    
    输出:
    654321

    参考答案

    返回值为字符串s的倒序值

  • 0
  • 0
  • 0
  • 2k
  • 请登录之后再进行评论

    登录
    单栏布局 侧栏位置: