
数据结构
文章平均质量分 57
沉默终止
life is a movie
展开
-
二叉树题目归纳:首个共同祖先与后继者
二叉树题目归纳后继者思路:思路比较简单,二叉树中序遍历的一道题首先知道二叉树左子树值小于根结点值,右子树值大于根结点值。如果后继结点值大于根结点值,那么在右子树中递归查找。否则在左子树中,那么此时后继结点即为根结点。如果在右子树中,那么后继结点则为递归查找到的结点。注意第一个if包含了等于的情况,即找到了改结点后继续在右子树中查找。代码class Solution { public TreeNode inorderSuccessor(TreeNode root, TreeNode p)原创 2021-07-19 00:25:00 · 116 阅读 · 0 评论 -
leetcode——212. 单词搜索 II
参考资料:leetcode程序中用了递归所以导致内存消耗比较大,以后应该尽量使用非递归程序。思路:过段时间在写,程序还可以再优化利用剪枝 public List<String> findWords(char[][] board, String[] words) { if(words.length==0){ return new ArrayList<>(); } TrieNode root原创 2020-09-01 16:41:42 · 117 阅读 · 0 评论 -
数据结构——Trie
单词查找树、后缀树Trie参考资料:leetcode之实现Trie北大数据结构与算法课程:Trie具体的数据结构代码java实现算法第四版基本定义(trie发音为try),这个数据结构作用是取出数据,基本性质包括查找和插入算法,主要应用于数据检索以及大规模的英文数据字典(中文需要使用双数组Trie)每个节点只能有一个指向它的节点,称为父结点每个键所关联的值保存在该键最后一个字母所在结点中leetcode下具体的实现代码,实现实现一个 Trie (前缀树),包含 insert, se原创 2020-08-31 18:50:53 · 364 阅读 · 0 评论