二叉树按层遍历 判断条件:结点的左右孩子只有4种情况 其中的三种情况有特例 条件1.结点有右孩子,没有左孩子,直接返回false 条件2.结点左右孩子不全(有左没右,左右都没有),则后面遇到的所有结点,都必须是叶节点 只…
二叉树——判断一棵树是否是平衡二叉树
平衡二叉树 (空树或者左右两个孩子高度差不超过1) 在涉及到二叉树的题目时,递归函数非常好用 列出可能性-》整理出返回值的类型-》整个递归过程按照同样的结构得到子树的信息,整合子树的信息,加工出应该返回的信息,向上返回 …
二叉树——平衡二叉搜索树 TreeSet, TreeMap
java中TreeSet和TreeMap底层是红黑树 内部存取元素的操作是O(logN),而普通的HashMap存取元素是O(1) 但是TreeSet和TreeMap内部元素是排序的,需要查找某些大小的元素和顺序输出元素…
链表--复制含有随机指针节点的链表
一种特殊的链表节点类描述如下: public class Node { public int value; public Node next; public Node rand; public Nod…
数据结构--KMP算法(字符串匹配算法)--在末尾添加字符串,是其包含字符串两次,且长度最短
在末尾添加字符串,使其包含字符串两次,且长度最短 * 找出字符串的next数组,然后添加的部分就是字符串的最后一个字符的next值到最后一个位置的值,这是最大前缀和最大后缀相等的地方 * 注意这里要找的是字符串中后面字符…