找到两个链表表示的字符串的公共后缀的位置

typedef struct node{
	char data;
	node* next;
}Node;
 
int get_length(Node* node){
	int l=0;
	Node* p=node;
	while(p->next!=NULL){
		l++;
		p=p->next;
	}
	return l;
}
 
Node* find_suffix(Node* str1,Node* str2){
	int len1=get_length(str1);
	int len2=get_length(str2);
	
	if(len1>len2){
		for(int i=0;i<len1-len2;i++){
			str1=str1->next;
		}
	}else if(len2>len1){
		for(int i=0;i<len2-len1;i++){
		  	str2=str2->next;
		  }
	}
 
	while(str1->next!=NULL && str1->next!=str2->next){
		str1=str1->next;
		str2=str2->next;
	}
	
	return str1->next;
 
}