弃我去者,昨日之日不可留; 乱我心者,今日之日多烦忧。 长风万里送秋雁,对此可以酣高楼。 蓬莱文章建安骨,中间小谢又清发。
俱怀逸兴壮思飞,欲上青天揽明月。 抽刀断水水更流,举杯消愁愁更愁。 人生在世不称意,明朝散发弄扁舟。
——李白

判断链表是否相交
思路:如果两个链表的最后一个节点是同一个节点,那一定相交
注意:这里不是值相等就是同一个节点.
这个代码我就不敲了,比较简单,而且求交点的代码里面有
求两个相交链表的交点
//给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) {
//判断链表是否为空
if(headA==NULL||headB==NULL)
{
return NULL;
}
//判断是否相交
struct ListNode* cura=headA;
struct ListNode* curb=headB;
//注意,int sizea,sizeb=1; 这种写法会默认sizea是0,导致错误
int sizea=1;
int sizeb=1;
while(cura->next)
{
cura=cura->next

最低0.47元/天 解锁文章
7739






