二维数组的双指针 help me!

有没有帮我看下,我怎么写都报错
题目:输入一些单词,请你判断能否把他们首尾串起来串成一串。前一个单词的结尾应
该与下一个单词的首字母相同。输入格式
5 个单词(每个不超过 20个字母)如: aloha dog
arachid gopher rat
输出格式
如果存在拼接方案,请输出所有拼接方案中的字典序最小的方案。(两个单词之间输出一个英文句号".")如: aloha.arachnid.dog.gopher.rat如果不存在拼接方案,则输出 *
解法:二维数组的双指针,一个指针指向数组头,一个指针指向数组尾。第一步,头指针一个个数组轮询,直到找到一个最小的字母(因为要按字典序最小的方案)。第二步,尾指针找到每一个数组的最后一个字母,并看看有没有和头指针内容一样的,如果都没有直接返回null,输出*(题目要求)。如果有,那么就把两个数组的内容搬到一个大数组里面。(这里注意的点就是头指针指向的那个数组要排除掉,不要指向同一个数组)。第三步,把已经排序的数组标记,(标记的最简单方法就是把数组末尾的\0删了,当尾指针找不到\0的时候就认为已经标记)然后尾指针的内容赋值给头指针,尾指针重新找新的数组尾。最后,重复第二步,第三步,直到全部排列完成