MyException - 我的异常网
当前位置:我的异常网» J2SE » 迅雷笔考试题目 java爬楼梯

迅雷笔考试题目 java爬楼梯

www.MyException.Cn  网友分享于:2013-12-22  浏览:22次
迅雷笔试题目 java爬楼梯
一个人爬楼梯,一步可以迈一级,二级,三级台阶,如果楼梯有N级,编写程序,输出所有走法。java实现。

------解决方案--------------------
根据22L的提示,自己写了这个:
Java code

    public static void main(String[] args) {
        goUp(5);
    }
    public static void goUp(int n) {
        ArrayList<String> al = new ArrayList<String>();
        p(n,al);
    }
    
    private static void p(int n,List<String> al) {
        if(n==0) {
            for(String str:al)
                System.out.print(str+" ");
            System.out.println();
        }
        else if(n<0) {
            return;
        }
        else {
            int num = al.size();
            al.add("1");
            p(n-1,al);
            al = al.subList(0, num);
            al.add("2");
            p(n-2,al);
            al = al.subList(0, num);
            al.add("3");
            p(n-3,al);
            al =al.subList(0, num);
        }
    }

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有