poj 3630

思路:用qsort对字符串数组进行排序,由于父串与子串相邻,则只要比较相邻串是否符合就行了(通过比较相邻字符串长度,选择长度小的作为判断长度)

这次掌握了对字符串数组的快排;

不过还有人用trie树来做的,目前还不会。

用到的部分代码:

 

qsort(num,n,sizeof(num[0]),cmp);
for(i=0;i<n;i++)
	len[i]=strlen(num[i]);
for(i=0;i<n-1;i++)
{
	length=len[i]<len[i+1]?len[i]:len[i+1];
	ok=0;
	for(k=0;k<length;k++)
		if(num[i][k]!=num[i+1][k])
		{
			ok=1;
			break;
		}
	if(!ok)
		break;
}
if(!ok)
	printf("NO\n");

原文地址:https://www.cnblogs.com/submarinex/p/1941276.html