摘要: 问题: 请设计一个算法,寻找二叉树中指定结点的下一个结点(即中序遍历的后继)。给定树的根结点指针TreeNode* root和结点的值int p,请返回值为p的结点的后继结点的值。保证结点的值大于等于零小于等于100000且没有重复值,若不存在后继返回-1。注意这里没有parent指针。 思路: 本 阅读全文
posted @ 2019-02-20 23:00 |旧市拾荒| 阅读(228) 评论(0) 推荐(0)
摘要: 对于树的访问先是从根节点开始进行的,递归左子树和右子树,对于左子树和右子树又可以看成是一棵子树继续递归下去,访问根节点的时候它不是直接处理根节点的而是需要等待它的左子树调用完之后那么才进行处理的,左子树也是一样,当访问到它的左子树的时候也需要等待它的左子树处理完毕才处理自己。 这也就是先访问,后出现 阅读全文
posted @ 2019-02-20 22:33 |旧市拾荒| 阅读(515) 评论(0) 推荐(0)
摘要: 题目: 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点(不存在重复数据)。树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 思路: 如果当前节点有右孩子,则下一个节点是右孩子中最左子节点。如果当前节点是其父节点的左子节点,则下一个节点就是父节点(节点没有右孩子)。如果当前节点 阅读全文
posted @ 2019-02-20 18:51 |旧市拾荒| 阅读(227) 评论(0) 推荐(0)
摘要: 一、问题: 请实现一个函数,检查一棵二叉树是否为二叉查找树。给定树的根结点指针TreeNode* root,请返回一个bool,代表该树是否为二叉查找树。 二、思路: 解法一:从根节点开始遍历二叉树,其中需要使用到递归进行遍历节点,判断根的左右节点的值与根节点的值的大小的比较,其中递归的思路是假如树 阅读全文
posted @ 2019-02-20 18:32 |旧市拾荒| 阅读(566) 评论(0) 推荐(0)
摘要: 题目一: 求一个二叉树的最小深度。 TreeNode类: public class TreeNode<T> { public T val; public TreeNode<T> left = null; public TreeNode<T> right = null; public TreeNode 阅读全文
posted @ 2019-02-20 17:59 |旧市拾荒| 阅读(158) 评论(0) 推荐(0)
摘要: 一、Trie简介 在计算机科学中,Trie,又称字典树、前缀树、单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较 阅读全文
posted @ 2019-02-20 17:12 |旧市拾荒| 阅读(307) 评论(0) 推荐(0)
摘要: 1 import java.util.ArrayList; 2 import java.util.List; 3 4 public class BSTPlus extends BinarySearchTree { 5 public int numOfLeaf() { 6 return numOfLeaf(root); 7 } 8 9 ... 阅读全文
posted @ 2019-02-20 16:37 |旧市拾荒| 阅读(155) 评论(0) 推荐(0)