剑指offer
筱懒兄
这个作者很懒,什么都没留下…
展开
-
XX跳台阶——剑指Offer|简单题|JZ9
题目在线测试连接:变态跳台阶_牛客网 (nowcoder.com)题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。对于3级台阶,有4种跳法思路:归纳总结,一级台阶有一种方法 —— (1,0)二级台阶有两种方法—— (1,0+1),(1+1,0)三级台阶有四种方法——(1,0+1+1),(1,0+1,1),(1+1+1,0),(1+1,0+1),' ' ' ' ' '每增加一级,数量增加一倍题.原创 2021-01-13 21:59:16 · 144 阅读 · 0 评论 -
二叉树的镜像——剑指Offer|简单题|JZ18
题目在线测试连接:二叉树的镜像_牛客网 (nowcoder.com)题目描述:将给定的二叉树左右对称镜像思路:向求解蓝框二叉树的镜像,可以先求将子节点交换,然后再去求子节点的镜像,直到当前节点为叶子节点总结来说,还是分治的思想,将大问题化解为小问题,求整个树的镜像,我可以先求解子树的镜像,子树的镜像可以先求解子子树的镜像.....直到返回根节点代码:/*struct TreeNode { int val; struct TreeNode *left; struct Tre原创 2021-01-12 20:17:56 · 90 阅读 · 0 评论 -
不用加减乘除做加法——剑指Offer|简单题|JZ48
题目在线测试连接:不用加减乘除做加法_牛客网 (nowcoder.com)题目描述:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。题解:加法:a+b由a^b可得按位相加后没有进位的和;由a&b可得可以产生进位的地方;由(a&b)<<1得到进位后的值。 int Add(int num1, int num2) { if(!num2) //如果num2为零,即进位为0返回num1原创 2021-01-11 21:28:49 · 103 阅读 · 0 评论 -
二叉树的深度——剑指Offer|简单题|JZ38
题目在线测试连接:二叉树的深度_牛客网 (nowcoder.com)题目:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。题解: int TreeDepth(TreeNode* pRoot) { int depth = 1; //假设当前节点存在,则深度为一 if(!pRoot) //如果当前节点不存在,返回0 return 0;原创 2021-01-10 23:16:12 · 77 阅读 · 0 评论 -
打印斐波那契数列第N项——剑指Offer|入门题|JZ7
题目在线测试连接:斐波那契数列_牛客网 (nowcoder.com)题目:现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n≤39注:斐波那契数列,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……递推的方法定义:F(0)=0,F(1)=1,F(n)=F(n - 1)+F(n - 2)(n≥ 2,n∈ N*)题解:方法一:自顶向下递归调用 int Fibonacci(int n) { ...原创 2021-01-10 22:20:59 · 179 阅读 · 0 评论