求链表的倒数第m个元素 (20分) (C语言)

//简单思路:反求出倒数第m个数是正数第几个。
//再从头遍历到倒数第m个数把它找出来  

ElementType Find( List L, int m )
{
	List p;
	int i,n=0;
	p=L->Next;//第一个节点
	while(p)
	{
	  n++;//遍历求表长
        p=p->Next; 
	 } 
	if(m>n)
	  return ERROR;
	List DB=L;
	for(i=1;i<=n-m+1;i++)
	{
	  DB=DB->Next;
	}
	return DB->Data;
	return L;
}//yh