![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer-java
啊咧咧这个名字没人用
这个作者很懒,什么都没留下…
展开
-
面试题64. 求1+2+…+n
求1+2+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 for循环可以用递归来实现,if可以用短路定理 正常递归: int sumNums(int n) { return n == 0 ? 0 : n + sumNums(n - 1); } 转换 public int sumNums(int n) { boolean flag = n > 0 &...转载 2020-06-02 08:10:54 · 267 阅读 · 0 评论 -
【练习笔记】剑指offer-数的整次方
【问题】 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 【答案】 public class Solution { public double Power(double base, int exponent) { if(exponent==0){ return 1.0;原创 2015-08-02 11:47:05 · 238 阅读 · 0 评论 -
【练习笔记】剑指offer-输出n位数全排列
public class printBigNum { public static void pringBig(int n){ if(n<=0){ return; } char [] num = new char[n]; // for(int i=0;i<=9;i++){ // num[0] = (char) (i+ '0'); // printNext(num,n原创 2015-08-02 13:19:48 · 277 阅读 · 0 评论 -
【练习笔记】剑指offer-面试题10 :二进制中1的个数
【问题】 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 【答案】 public class Solution { public int NumberOf1(int n) { int count =0; int s = 1; for(int i=0;i<32;i++){ if((n &原创 2015-08-02 10:58:26 · 259 阅读 · 0 评论 -
【练习笔记】剑指offer-变态跳台阶
【问题】 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 【答案】 public class Solution { public int JumpFloorII(int target) { if(target<=0){ return 0; } i原创 2015-08-02 09:13:06 · 412 阅读 · 0 评论 -
【练习笔记】剑指offer-矩形覆盖
【问题】 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 【答案】 public class Solution { public int RectCover(int target) { if(target==0){ return 1; }原创 2015-08-02 09:19:00 · 250 阅读 · 0 评论 -
【练习笔记】剑指offer-面试题8 :旋转数组的最小数字
【问题】 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 【答案】 import java.util.ArrayList; public class Solution { public int minNumberInR原创 2015-08-01 17:53:09 · 278 阅读 · 0 评论 -
【练习笔记】剑指offer-面试题6 :重建二义树
【问题】 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并输出它的后序遍历序列。 【答案】 /** * Definition for binary tree * public class TreeNode原创 2015-08-01 14:29:22 · 236 阅读 · 0 评论 -
【练习笔记】剑指offer-面试题5 :从尾到头打印链表
【题目】 输入一个链表,从尾到头打印链表每个节点的值。 【答案】 /** * public class ListNode { * int val; * ListNode next = null; * * ListNode(int val) { * this.val = val; * } * } *原创 2015-08-01 12:12:07 · 267 阅读 · 0 评论 -
【练习笔记】剑指offer-面试题4 :替换空格
【题目】 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 【答案】 public class Solution { public String replaceSpace(StringBuffer str) { if(null == str){原创 2015-08-01 11:25:04 · 237 阅读 · 0 评论 -
【练习笔记】剑指offer-面试题3 :二维数组中的查找
【题目】 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 【解答】 public class Solution { public boolean Find(int [][] array,int target) { if(array == null原创 2015-08-01 10:45:02 · 280 阅读 · 0 评论 -
【练习笔记】剑指offer-面试题7 :用两个栈实现队列
【问题】 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 【答案】 import java.util.Stack; public class Solution { Stack stack1 = new Stack(); Stack stack2 = new Stack(); public void push(int原创 2015-08-01 15:40:15 · 270 阅读 · 0 评论