摘要:
func getIntersectionNode(headA, headB *ListNode) *ListNode { if headA==nil||headB==nil{ return nil } p1,p2:=headA,headB for p1!=p2{ if p1==nil{ p1=hea 阅读全文
摘要:
func detectCycle(head *ListNode) *ListNode { if head==nil||head.Next==nil{ return nil } p1,p2:=head,head for p2!=nil{ p1=p1.Next p2=p2.Next if p2!=nil 阅读全文
摘要:
func hasCycle(head *ListNode) bool { if head==nil||head.Next==nil{ return false } p1,p2:=head,head.Next for p2!=nil{ p1=p1.Next p2=p2.Next if p2!=nil{ 阅读全文
摘要:
// 返回链表的倒数第 k 个节点 ListNode findFromEnd(ListNode head, int k) { ListNode p1 = head; // p1 先⾛ k 步 for (int i = 0; i < k; i++) { p1 = p1.next; } ListNode 阅读全文
摘要:
合并两个有序链表: 法一:迭代 package main func mergeTwoLists(list1 *ListNode, list2 *ListNode) *ListNode { dummyHead := &ListNode{} cursor := dummyHead for list1 ! 阅读全文
摘要:
type minHeap []*ListNode func (h minHeap) Len() int { return len(h) } func (h minHeap) Less(i, j int) bool { return h[i].Val < h[j].Val } func (h minH 阅读全文