offer37--两个链表的公共节点
来源:互联网 发布:云南2016年旅游数据 编辑:程序博客网 时间:2024/06/16 05:43
# coding=utf-8class ListNode(): def __init__(self, x): # 定义链表节点 self.val = x self.next = Nonedef findcommon(p1, p2): n1 = Getlength(p1) n2 = Getlength(p2) n3 = abs(n1 - n2) if n1 > n2: pL = p1 ps = p2 pass else: pL = p2 ps = p1 pass for i in range(n3): pL = pL.next pass while pL != None and ps != None and pL.val != ps.val: pL = pL.next ps = ps.next pass if pL is None: return None else: return pL.val passdef Getlength(p): n = 0 while p != None: p = p.next n += 1 return ndef genList(data):#构建链表 if len(data) == 0: return None head = ListNode(data[0]) tmp = head for item in data[1:]: tmp.next = ListNode(item) tmp = tmp.next pass return head passif __name__ == '__main__': p1 = [1, 2, 3, 6, 7] p2 = [4, 5, 6, 7] s1 = genList(p1) s2 = genList(p2) print findcommon(s1, s2)
阅读全文
0 0
- offer37--两个链表的公共节点
- 剑指offer37-两个链表的第一个公共节点
- offer37:两个链表的第一个公共节点
- 两个链表的第一个公共结点(剑指offer37)
- 剑指offer37题(两个链表的第一个公共结点)
- 找两个链表的公共节点
- 两个链表的公共第一个公共节点
- 找到两个单向链表的第一个公共节点
- 找到两个单向链表的第一个公共节点
- 找到两个单向链表的第一个公共节点
- 两个单向链表的第一个公共节点
- 面试训练两个链表的公共节点
- 两个链表的第一个公共节点
- 寻找两个相交链表的第一个公共节点
- 两个链表的第一个公共节点
- 寻找两个相交链表的第一个公共节点
- 寻找两个相交链表的第一个公共节点
- 两个链表的第一个公共节点
- 《怦然心动》经典记录
- 详解Javascript 函数声明和函数表达式的区别
- 【区块链】以太坊源码学习 -- EVM
- 014 两个重要极限之二
- MyBatis开发及简介
- offer37--两个链表的公共节点
- java.io.IOException: Permission denied
- 修改Jenkins权限控制(闲的蛋疼)
- ArchLinux+Win10安装美化及一些常用(装逼神器)软件安装记
- DeepLearing学习笔记-损失函数
- 119. Pascal's Triangle II
- 寒假学习之stm32(17)----SPI通信协议
- Kruskal算法求最小生成树
- 数据库索引(58,、盖娅互娱、饿了么、百度、贝壳金控、)