分析问题 首先需要明白路径的概念,路径是从根节点出发,一直到叶子节点,所形成的一条路径 所以我们寻找和为某一…
标签:剑指Offer解题报告(Java版)
剑指offer解题报告(Java版)——判断一个数组是否是二叉搜索树的后序遍历序列 24
引言 继续二叉树,这个题考的知识点是二叉树的后续遍历 分析问题 对于一个二叉树的后序遍历序列来说,最后一个数一定是根节点,然后前面的数中…
剑指offer解题报告(Java版)——二叉树的镜像 19
引言 发现二叉树的问题很多都是用递归解决的,除了按照剑指offer书中给的递归方法,自己也用栈的方法去实现了,两种方法其实深层次的思想差不多 分析问题 …
剑指offer解题报告(Java版)——树的子结构 18
引言 继续二叉树的狂轰乱炸,这道题很简单,就是一个二叉树的递归问题 分析问题 要判断树B是否为树A的子结构,…
剑指offer解题报告(Java版)——二叉搜索树转换为双向链表 27
引言 自己觉得对二叉树了解的不是很多,所以想专门练习一下这方面的问题,剑指Offer中有一道题是将二叉搜索树转换为双向链表,开始的时候照着书上的思路去做,最后发现问…
O(1)时间删除链表中的节点 13
将当下一个节点的data和nextNode拷贝到当前节点,即完成删除 但不能用deleteNode=deleteNode.nextNode 这样是让指针循环下移 &…
打印1到最大的n位数 12
两种解法,一种递归,一种判断该数加1是否最高位进1 第二种较简单 主要两个函数,一个是打印数字,要求判断该数字是否是第一个不为零的数字,然后后面的依次打出即可 &n…
自己实现一个数的整数次方 11
注意输入的判断,多写几个if语句判断是否满足输入数据的条件 另外exp为负的时候,输入的base变为1.0/base而不是1/base 所以返回值要设置为doubl…
二进制中1的个数 10
三种方法 第一种不断除2 除2可以用右移方式,但这种方式对于负数的话容易造成左边全为1,进入死循环 可以判断如果输入负数的话,取他的相反…
旋转数组中的最小值 8
基于二分法 index1为首,index2为尾,indexMid指向中间 当Number[index1]大于等于Number[index2]的条件满足时  …
两个栈实现队列 7
主要实现从尾部添加字符和从头部删除字符 从尾部添加直接push进一个stack1即可 从头部删除,需要先将stack1中的字符压入stack2,然后从stack2弹…
从尾到头打印链表 5
利用栈,倒序都可以用栈解决 先将数据一个一个压入栈 然后再一个一个弹出 另外还有一种方法是利用递归,递归其实跟栈类似 &n…