[数据结构]前缀码判定|[数据结构]前缀码判定 解题报告

Problem Description 前缀码:任何一个字符的编码都不是同一字符集中另一个字符的编码的前缀。
请编写一个程序,判断输入的n个由1和0组成的编码是否为前缀码。如果这n个编码是前缀码,则输出"YES”;否则输出第一个与前面编码发生矛盾的编码。
输入:

第1行为n(表示下面有n行编码)
第2~n+1行为n个由0或1组成的编码
输出:判断结果
例如,如果输入:
5
00
01
10
110
111
每一个字符均不是其他字符编码的前缀,所以,输出:
YES
再如,如果输入:
5
00
01
10
110
11
【[数据结构]前缀码判定|[数据结构]前缀码判定 解题报告】编码11与前面的编码110的前缀,所以,输出:
11
测试输入
5 00 01 10 110 111

测试输出
YES

AcCode
// //main.cpp //前缀码判定 // //Created by jetviper on 2017/3/26. //Copyright ? 2017年 jetviper. All rights reserved. //#include #include #include typedefstruct { unsignedint lchild=0,rchild=0,tail=0; }HTNode,*HTT; char str[100000]; HTNode ht[100000]; int main() { // HTT ht; int n; scanf("%d",&n); int i,j,k=2; int err =0,now; for(i =0; i

    推荐阅读