题目链接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 ...
阅读全文 »