python有序字典在做题中的使用.()-python
python有序字典在做题中的使用.()
- 题目
- 提交记录
- 讨论
- 题解
- 视频讲解
输入两个链表,找出它们的第一个公共结点。
当不存在公共节点时,返回空节点。
数据范围
链表长度 <span id=”MathJax-Span-2″ class=”mrow”><span id=”MathJax-Span-3″ class=”mo”>[<span id=”MathJax-Span-4″ class=”mn”>1<span id=”MathJax-Span-5″ class=”mo”>,<span id=”MathJax-Span-6″ class=”mn”>2000<span id=”MathJax-Span-7″ class=”mo”>][1,2000]。保证两个链表不完全相同,即两链表的头结点不相同。
样例
给出两个链表如下所示:
A: a1 → a2
↘
c1 → c2 → c3
↗
B: b1 → b2 → b3
输出第一个公共节点c1
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None
import collections
class Solution(object):
memo=collections.OrderedDict()
def findFirstCommonNode(self, headA, headB):
"""
:type headA, headB: ListNode
:rtype: ListNode
"""
while headA!=None:
self.memo[headA]=0
headA=headA.next
while headB!=None:
if headB in self.memo:
return headB
headB=headB.next
return None
————————
- 题目
- 提交记录
- 讨论
- 题解
- 视频讲解
输入两个链表,找出它们的第一个公共结点。
当不存在公共节点时,返回空节点。
数据范围
链表长度 <span id=”MathJax-Span-2″ class=”mrow”><span id=”MathJax-Span-3″ class=”mo”>[<span id=”MathJax-Span-4″ class=”mn”>1<span id=”MathJax-Span-5″ class=”mo”>,<span id=”MathJax-Span-6″ class=”mn”>2000<span id=”MathJax-Span-7″ class=”mo”>][1,2000]。保证两个链表不完全相同,即两链表的头结点不相同。
样例
给出两个链表如下所示:
A: a1 → a2
↘
c1 → c2 → c3
↗
B: b1 → b2 → b3
输出第一个公共节点c1
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None
import collections
class Solution(object):
memo=collections.OrderedDict()
def findFirstCommonNode(self, headA, headB):
"""
:type headA, headB: ListNode
:rtype: ListNode
"""
while headA!=None:
self.memo[headA]=0
headA=headA.next
while headB!=None:
if headB in self.memo:
return headB
headB=headB.next
return None