题目描述:

方法一:

class Solution(object):
def getIntersectionNode(self, headA, headB):
"""
:type head1, head1: ListNode
:rtype: ListNode
"""
a,b = headA,headB
a_num,b_num = 0,0
while a:
a = a.next
a_num += 1
while b:
b = b.next
b_num += 1
if a_num >= b_num:
gap = a_num - b_num
while gap:
headA = headA.next
gap -= 1
while headA and headB:
if headA == headB:
return headA
headA = headA.next
headB = headB.next
return
else:
gap = b_num - a_num
while gap:
headB = headB.next
gap -=1
while headA and headB:
if headA == headB:
return headA
headA = headA.next
headB = headB.next
return

优化后:

class Solution(object):
def getIntersectionNode(self, headA, headB):
"""
:type head1, head1: ListNode
:rtype: ListNode
"""
a,b = 0,0
p,q = headA,headB
while headA and headB:
headA,headB = headA.next,headB.next
a,b = a+1,b+1
while headA:
headA,p = headA.next,p.next
while headB:
headB,q = headB.next,q.next
while p:
if p==q:
return p
p,q = p.next,q.next return

方法二;指针追逐*

class Solution(object):
def getIntersectionNode(self, headA, headB):
"""
:type head1, head1: ListNode
:rtype: ListNode
"""
if not headA or not headB:
return
p,q = headA,headB
while p!=q:
p = p.next if p else headB
q = q.next if q else headA
return p

最新文章

  1. Remove-Azureaccount (Can't get Azure credentials to stick in Powershel)
  2. 多表数据连接 Left join
  3. LoadRunner常见函数分析
  4. pandas 前后行操作
  5. JavaScript初级教程(Jquery)
  6. iOS5中UIViewController的新方法
  7. ios 将Log日志重定向输出到文件中保存
  8. hdu 1541 Stars(树状数组)
  9. ubuntu下修改ip重启系统ip不变
  10. TFS统计编码行数语句
  11. JavaScript:Object.prototype.toString方法的原理
  12. 网络编程中几个地址结构与转换(in_addr,sockaddr,sockaddr_in,pcap_addr)
  13. MyEclipse开发的java web项目在 Eclipse中无法识别
  14. Parrot源代码分析之海贼王
  15. 用Qt开发Web和本地混合的应用
  16. iOS进阶之UDP代理鉴权过程
  17. C#设计模式之10:状态模式
  18. 1.7Oob 静态变量静态方法
  19. java 安装环境
  20. Linux命令——压缩和解压缩

热门文章

  1. 2018-8-10-win10-uwp-json
  2. caffer的三种文件类别
  3. chroot 试用alpinelinux安装软件包的问题
  4. nodejs模块——目录操作
  5. linux环境安装opencv导入依赖报错问题
  6. spring data jpa 配置文件1
  7. 管理员技术(一):装机预备技能、安装一台RHEL7虚拟机、使用RHEL7图形桌面、Linux命令行基本操作
  8. 原生Ajax( XHR 和 Fetch )
  9. 【React-Native】---Android环境配置
  10. 剑指offer——71扑克牌中的顺子