最近一直在复习一些算法及数据结构方面的东西,就找了一个适合找工作笔试的题目,在剑指Offer上刷了几道题目,发现对复习知识点还是很有用的,做到重建二叉树这块。递归传值出了点问题,debug半小时才找出错误,所有还是写篇博客记录一下。也推荐要找工作的伙伴去剑指Offer刷题。
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
其实这题递归非常简单,数据也不是很大,不用担心栈溢出的问题,代码如下:
public class Solution { public int JumpFloor(int target) { if(target < 0){ return 0; } if(target > 0){ return JumpFloor(target - 1) + JumpFloor(target - 2); } return 1; } }
根据递归的路径不同,将结果汇总就好了。