摘要: 原题:给定两个(单向)链表,判定它们是否相交并返回交点。请注意相交的定义基于节点的引用,而不是基于节点的值。换句话说,如果一个链表的第k个节点与另一个链表的第j个节点是同一节点(引用完全相同),则这两个链表相交。 法一:消除长度差 struct ListNode getIntersectionNod 阅读全文
posted @ 2020-03-26 14:04 Ruanzy 阅读(150) 评论(0) 推荐(0)
摘要: 原题:给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。 法一:遍历两次,第一次测出链表长度,第二次遍历至中间节点。 struct ListNode* middleNode(struct ListNode* head){ int c=1; st 阅读全文
posted @ 2020-03-26 12:56 Ruanzy 阅读(122) 评论(0) 推荐(0)
摘要: 原题:定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 法一:反向初始化 struct ListNode* reverseList(struct ListNode* head){ struct ListNode* L=NULL; while(head){ struct Lis 阅读全文
posted @ 2020-03-26 12:41 Ruanzy 阅读(129) 评论(0) 推荐(0)