分析问题 这个题目的关键点在于大小王可以看作任意的数字,那么我们就把这个任意的数字看作0也未尝不可,因为扑克牌中1-15都有数字,所以可以用0代表大小王  …
剑指Offer解题报告(Java版)——n个骰子的点数 43
问题 n个骰子朝上的数之和为s,求s的所有可能以及概率 分析问题 如果是用笨方法,一般人最开始都会想到笨方法,那就是枚举法 …
剑指offer解题报告(Java版)——翻转单词顺序 左旋字符串 42
引言 这种翻转的问题会遇到很多,其实就是一个倒序的问题,对于第一个题只是想翻转单词的顺序,而并不想把整个字符串翻转了,如果完全翻转的话,比如I am a stude…
剑指offer解题报告(Java版)——和为s的两个数,一串连续数 41
引言 第一问题很简单,leetcode上也有相应的题,2Sum问题,leetcode上还有2Sum的进阶版3Sum,只是在这个问题上增加了一层循环而已,另外还有3S…
剑指offer解题报告(Java版)——数组中只出现一次的数字 40
分析问题 任何一个数字异或它自己都等于0,通过这个思想遍历数组,用一个result累计异或操作,如果遇到某一个数两次,必定消除了异或操作,换句话说就是如果我们从头依…
剑指offer解题报告(Java版)——二叉树的深度 判断二叉树是否平衡 38
问题一 引言 在之前我们讲到过如果保存树根节点到叶子节点之间的路径,其中包含了如何判断一个节点是否是叶子节点,而且用栈保存了路径中的节点…
剑指offer解题报告(Java版)——找到两个链表的第一个公共节点 37
引言 这个问题一种常想到的方法就是两层循环遍历,外层循环遍历链表A,对A中每个节点,遍历链表B,如果在B中找到,说明这个节点是第一个公共节点,但是这样的方法时间复杂…
剑指offer解题报告(Java版)——求逆序对 36
引言 一开始接触到这题还觉得挺有意思的,但后来发现其深层次的含义就是一个归并排序,只是在归并排序的过程中做了一点小动作而已,这也再次证明了很多东西都是万变不离其宗的…
剑指offer解题报告(Java版)——二叉树中和为某一值的路径 25
分析问题 首先需要明白路径的概念,路径是从根节点出发,一直到叶子节点,所形成的一条路径 所以我们寻找和为某一…
剑指offer解题报告(Java版)——判断一个数组是否是二叉搜索树的后序遍历序列 24
引言 继续二叉树,这个题考的知识点是二叉树的后续遍历 分析问题 对于一个二叉树的后序遍历序列来说,最后一个数一定是根节点,然后前面的数中…
剑指offer解题报告(Java版)——二叉树的镜像 19
引言 发现二叉树的问题很多都是用递归解决的,除了按照剑指offer书中给的递归方法,自己也用栈的方法去实现了,两种方法其实深层次的思想差不多 分析问题 …
剑指offer解题报告(Java版)——树的子结构 18
引言 继续二叉树的狂轰乱炸,这道题很简单,就是一个二叉树的递归问题 分析问题 要判断树B是否为树A的子结构,…