本文主要是介绍C 看看L1是不是L2的子链,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
//结构体
typedef struct Node {ElementType data;struct Node * next;
} LNode, * LinkNode;//看看L1是不是L2的一个子串
Status isChildStr(LinkNode L1, LinkNode L2){//L2出个前驱和当前,L1出个当前LinkNode nodel1 = L1->next;LinkNode prenodel2 = L2;LinkNode nodel2 = prenodel2->next;//L2和L1的当前一起判断,有一个少都不行while (nodel1 && nodel2) {//相等的话就并驾齐驱往前走if(nodel1->data == nodel2->data){nodel1 = nodel1->next;nodel2 = nodel2->next;}//不相同的话,L1变成原来的样子,L2往后走一个else{//L2prenodel2 = prenodel2->next;nodel2 = prenodel2->next;//L1nodel1 = L1->next;}}//看看L1是不是走到了最后if(nodel1){return ERR;}//完美地避免了条件的制约,那就是?的return OK;
}
这篇关于C 看看L1是不是L2的子链的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!