博客
关于我
王道数据结构2.2.3——8、找处两个单链表的公共结点
阅读量:634 次
发布时间:2019-03-14

本文共 543 字,大约阅读时间需要 1 分钟。

思路

注意,两个单链表有公共结点意味着,只要有一个公共结点,那么后继的所有结点都是完全一样的。因此,两个单链表相当于“Y”的形状。由于两个链表长度不一定相等,所以算出长度差d之后,用较长的单链表遍历到第d个位置,然后两个表开始一起遍历,直到两个指针所指元素是同一个,也就是第一个公共结点,后面的所有结点都是公共结点。

代码

LinkList pub_node(LinkList L, LinkList Q){    int L_len=0,Q_len=0;    LNode *p=L->next,*q=Q->next;    while(p!=NULL){ //L的长度        p=p->next;L_len++;    }    while(q!=NULL){ //Q的长度        q=q->next;Q_len++;    }    //长度差值    if(L_len>Q_len){        while(L_len-Q_len--)  p=p->next;    }else if(L_len
next; } while(p!=q){ p=p->next;q=q->next; } return p;}

 

转载地址:http://vpaoz.baihongyu.com/

你可能感兴趣的文章
mysql主从配置
查看>>
MySQL之2003-Can‘t connect to MySQL server on ‘localhost‘(10038)的解决办法
查看>>
MySQL之CRUD
查看>>
MySQL之DML
查看>>
Mysql之IN 和 Exists 用法
查看>>
MYSQL之REPLACE INTO和INSERT … ON DUPLICATE KEY UPDATE用法
查看>>
MySQL之SQL语句优化步骤
查看>>
MYSQL之union和order by分析([Err] 1221 - Incorrect usage of UNION and ORDER BY)
查看>>
Mysql之主从复制
查看>>