题目链接Phone List
题目描述(Description)给出一列电话号码,判断这些号码里时候有的号码是另一个号码的前缀,如果是,则此号码不符合条件(输出NO),否则输出YES。
分析(Analysis)属于字典树的应用。这里的branch是0-9这10个字符。设置flag作为判断的标志。
分两步:
当前插入单词word是否为之前字符串的前缀
之前的字符串是否为word的前缀
代码(Co
...
题目链接Babelfish
题目描述(Description)给定一些字符串以及它在一种外星语言中的对应解释,现在有若干外星语言中的串,要求把它们翻译成英语。
分析(Analysis)直接用字典树存外星语,维护一个长度为11的字符数组,用来存对应的英语。
代码(Code)#include<cstdio>
#include<cstring>
#include<cstdl
...
*题目链接Babelfish
字典树介绍字典树是一种树形结构,也叫单词搜索树、Trie树,优点是可以利用字符串的公共前缀来节约存储空间,最大限度地减少无谓的字符串的比较。
特点- 根节点不包含任何字母,二除它以外的每个结点仅包含一个字母;
- 从跟结点到某个结点,路径上经过的字母一次连接起来所构成的字母序列,称为该结点对应的单词。单词列表中的每个词,都是该字母树某个结点所对应的单词;
- 每个结点
...
题目链接Seek the Name,Seek the Fame
题目(Description)给一个串S,如果它的前缀串和后缀串相同,请输出它的长度。
例如:S="alala",符合条件的串是{"a","ala","alala"},程序应该输出1 3 5
S只含有小写字母,S的长度为[1,400000].
分析(Ana
...
题目链接:power string
题目描述(Description)给一个字符串,求出其最大的循环子串。
比如:
输入:
abcd
aaaa
ababab
ababcab
输出:
1
4
3
1
分析(Analysis)
直接用KMP的next数组求,然后计算循环节的长度
注意给出的第四种情况,虽然有循环前缀abab,但后面的字符
...
题目链接Period
题目描述(Description)给定一个字符串S(长度2 <= N <= 1 000 000),只包含小写字母,找出S的循环前缀的长度和循环的周期。
例如:
输入:
aaa
输出:
2 2
3 3
输入:
aabaabaabaab
输出:
2 2
6 2
9 3
12 4
分析(Analysis)KMP算法的又一大应用。
先求出S串的next数组。
如果出
...
题目链接symmetric-tree
题目描述(Description)Symmertic Tree
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).
For example, this binary tree is symmetric:
But the f
...
题目链接same-tree
题目描述(Description)Same Tree
Given two binary trees, write a function to check if they are equal or not.
Two binary trees are considered equal if they are structurally identical and the no
...
题目链接linked-list-cycle
题目描述(Description)Linked List Cycle
Given a linked list, determine if it has a cycle in it.
Follow up:Can you solve it without using extra space?
链表是否有环
给你一个链表,判断它是否有环?
进一步:
你能在不使
...
题目链接
二叉树的最大深度maximum-depth-of-binary-tree
二叉树的最小深度minimum-depth-of-binary-tree
题目描述(Description)Maximum Depth of Binary Tree
Given a binary tree, find its maximum depth.
The maximum depth is the nu
...