http://bbs.freekaoyan.com/viewthread.php?tid=89245
算法填充题:题目
刚开始很难想到要用递归,后来仔细想了一下,确实还只能用递归.原因如下:
在开始时,相信大家(包括本人 )在刚看到题目的时候会迫不及待地将while后面填上pa&&pb以表示结束控制符,然后将最后一句填上return true表示判断成功,else语句后面填上return false在匹配不成功时强制退出(其实这样一写就已经错了,因为匹配不成功指针也要向后移动的),在then语句后面填上pa=pa->next;pb=pb->next语句,可是这样一来第一个空格似乎无内容可填了,此时陷入了僵局
考虑题型中没有任何多余的变量,于是考虑到这个是否是递归的基准情形,只能这样考虑,否则一条语句放在如此的位置不能有其他作用.题目没有定义新的变量,而pa,pb均已经初始化成功,所以只能是递归基准情形.所以第一个空格内填入if pa==NULL then return true;后面分别填入return (inclusion(pa,pb)); pb=pb->next; return false;
另外,函数体名"(inclusion)"也有"此地无银"的味道,暗示了本题是用递归解答的.
附件
2006-11-27 14:10
---------------------------------
---------------------------------
学习了
