三种方法 第一种不断除2 除2可以用右移方式,但这种方式对于负数的话容易造成左边全为1,进入死循环 可以判断如果输入负数的话,取他的相反…
标签:剑指Offer解题报告(Java版)
(atoi)String to Integer 49
corner case的处理 整数一般考虑两点:一点是符号,另外一点是越界 首先去掉多余的空格字符 然后读符号,可能是正号,也可能是负号…
剑指offer解题报告(Java版)——翻转单词顺序 左旋字符串 42
引言 这种翻转的问题会遇到很多,其实就是一个倒序的问题,对于第一个题只是想翻转单词的顺序,而并不想把整个字符串翻转了,如果完全翻转的话,比如I am a stude…
剑指Offer解题报告(Java版)——n个骰子的点数 43
问题 n个骰子朝上的数之和为s,求s的所有可能以及概率 分析问题 如果是用笨方法,一般人最开始都会想到笨方法,那就是枚举法 …
归并排序
总结 递归 从大到小进行排序 辅助数组,将两个子数组中最右边的两个数进行比较,大的放入辅助数组中,此时辅助数组的索引也从最右边开始 也可…
旋转数组中的最小值 8
基于二分法 index1为首,index2为尾,indexMid指向中间 当Number[index1]大于等于Number[index2]的条件满足时  …
剑指offer解题报告(Java版)——数组中只出现一次的数字 40
分析问题 任何一个数字异或它自己都等于0,通过这个思想遍历数组,用一个result累计异或操作,如果遇到某一个数两次,必定消除了异或操作,换句话说就是如果我们从头依…
剑指offer解题报告(Java版)——二叉树的深度 判断二叉树是否平衡 38
问题一 引言 在之前我们讲到过如果保存树根节点到叶子节点之间的路径,其中包含了如何判断一个节点是否是叶子节点,而且用栈保存了路径中的节点…
剑指Offer解题报告(Java版)——不用加减乘除做加法 47
引言 一般这种不能用四则运算的题都只有用位运算来做,目的是加强大家对计算机计算的理解,真是有点扯淡呢 解决问题  …
打印1到最大的n位数 12
两种解法,一种递归,一种判断该数加1是否最高位进1 第二种较简单 主要两个函数,一个是打印数字,要求判断该数字是否是第一个不为零的数字,然后后面的依次打出即可 &n…
剑指Offer解题报告(Java版)——字符串转换为数字 49
引言 STOI是很常见的一道题,leetcode上也有,字符串转换为数字一般都会有现成的函数去实现这样的功能,但有时候需要我们理解其中的具体实现,因为虽然是个很常见…