![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
ninglx_xxx
这个作者很懒,什么都没留下…
展开
-
求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 public class demo{ public int sum_demo(int n){ int sum = n; //递归,由大到小加到sum中 //&&: 若&&之前的语句不成立,则不往后执行 boolean x = (sum > 0) && (sum = su原创 2020-09-06 12:03:01 · 70 阅读 · 0 评论 -
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 public class demo{ public int jump(int total){ //'<<': 逻辑左移, 左移一位即给当前数乘以二 // 1左移(total-1)位即1乘以 total-1 个 2 // 即1*2^(total-1) return 1<<(total - 1); } } ...原创 2020-09-06 11:51:53 · 342 阅读 · 3 评论 -
操作给定的二叉树,将其变换为源二叉树的镜像。
操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5 public class Solution{ public void Mirror(TreeNode root){ if(原创 2020-09-06 11:39:43 · 106 阅读 · 0 评论 -
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
/*java位运算*/ public class Solution { public int Add(int num1,int num2) { while(num2 != 0){ int temp = num1 ^ num2; //num1, num2异或:相加各个位的值 num2 = (num1 & num2) << 1;//num1, num2按位与:相加进位的值 num1 = temp;原创 2020-07-28 16:15:06 · 110 阅读 · 0 评论 -
输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。
/** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */ /*递归*/ public class Solution { public int TreeDepth(TreeNode root) { if (ro原创 2020-07-28 13:15:36 · 415 阅读 · 0 评论