摘要:
设计一个包含下面两个操作的数据结构:addWord(word), search(word) addWord(word)会在数据结构中添加一个单词。而search(word)则支持普通的单词查询或是只包含.和a-z的简易正则表达式的查询。 一个 . 可以代表一个任何的字母。 注意事项 你可以假设所有的 阅读全文
摘要:
实现一个 Trie,包含 insert, search, 和 startsWith 这三个方法。 注意事项 你可以假设所有的输入都是小写字母a-z。 您在真实的面试中是否遇到过这个题? Yes 实现一个 Trie,包含 insert, search, 和 startsWith 这三个方法。 注意事项 阅读全文
摘要:
1、概述 Trie树,又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树。 Trie一词来自retrieve,发音为/tri:/ “tree”,也有人读为/traɪ/ “try”。 Trie树的基本性质可以归纳为: (1)根 阅读全文
摘要:
给定一个整数数组(下标由 0 到 n-1,其中 n 表示数组的规模),以及一个查询列表。每一个查询列表有两个整数 [start, end] 。 对于每个查询,计算出数组中从下标 start 到 end 之间的数的总和,并返回在结果列表中。 注意事项 在做此题前,建议先完成以下三题:线段树的构造, 线 阅读全文
摘要:
给定一个整数数组(下标由 0 到 n-1,其中 n 表示数组的规模),以及一个查询列表。每一个查询列表有两个整数 [start, end]。 对于每个查询,计算出数组中从下标 start 到 end 之间的数的最小值,并返回在结果列表中。 注意事项 在做此题前,建议先完成以下三道题 线段树的构造, 阅读全文
摘要:
给定一个整数数组 (下标由 0 到 n-1,其中 n 表示数组的规模,数值范围由 0 到 10000),以及一个 查询列表。对于每一个查询,将会给你一个整数,请你返回该数组中小于给定整数的元素的数量。 注意事项 在做此题前,最好先完成 线段树的构造 and 线段树查询 II 这两道题目。 您在真实的 阅读全文
摘要:
线段树是一棵二叉树,他的每个节点包含了两个额外的属性start和end用于表示该节点所代表的区间。start和end都是整数,并按照如下的方式赋值: 根节点的 start 和 end 由 build 方法所给出。 对于节点 A 的左儿子,有 start=A.left, end=(A.left + A 阅读全文
摘要:
设计一个算法,并编写代码来序列化和反序列化二叉树。将树写入一个文件被称为“序列化”,读取文件后重建同样的二叉树被称为“反序列化”。 如何反序列化或序列化二叉树是没有限制的,你只需要确保可以将二叉树序列化为一个字符串,并且可以将字符串反序列化为原来的树结构。 注意事项 There is no limi 阅读全文
摘要:
给定两个值 k1 和 k2(k1 < k2)和一个二叉查找树的根节点。找到树中所有值在 k1 到 k2 范围内的节点。即打印所有x (k1 <= x <= k2) 其中 x 是二叉查找树的中的节点值。返回所有升序的节点值。 您在真实的面试中是否遇到过这个题? Yes 给定两个值 k1 和 k2(k1 阅读全文
摘要:
给出一棵二叉树,返回其节点值的后序遍历。 您在真实的面试中是否遇到过这个题? Yes 给出一棵二叉树,返回其节点值的后序遍历。 给出一棵二叉树,返回其节点值的后序遍历。 您在真实的面试中是否遇到过这个题? Yes Yes Yes 样例 给出一棵二叉树 {1,#,2,3}, 1 \ 2 / 3 返回 阅读全文