当前位置: 首页 > news >正文

成都创意设计公司苏州排名搜索优化

成都创意设计公司,苏州排名搜索优化,河南郑州是几线城市,武汉做网站公司有哪些面试题 02.07. 链表相交 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 方法一:遍历headA,将每个节点add到HashSet中;然后遍历headB&#xf…

面试题 02.07. 链表相交

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。

方法一:遍历headA,将每个节点add到HashSet中;然后遍历headB,如果HashSet contains当前节点则返回该节点。

此方法的时间复杂度为O(m+n), m为headA长度,n为headB长度;空间复杂度为O(m),因为需要使用HashSet存储headA。

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode(int x) {*         val = x;*         next = null;*     }* }*/
public class Solution {public ListNode getIntersectionNode(ListNode headA, ListNode headB) {HashSet<ListNode> visited = new HashSet<ListNode>();ListNode i = headA;while(i != null){visited.add(i);i = i.next;}i = headB;while(i != null){if(visited.contains(i)) return i;i = i.next;}return null;}
}

方法二:双指针法
eadA长度为m, headB长度为n,假设headA在相交节点之前长度为a,headB在相交节点之前长度为b,那么应有m+b = n+a,因此使用两个指针i,j分别遍历headA, headB,在一个链表遍历结束后去遍历另一链表,当i == j时候,返回ij即可。

public class Solution {public ListNode getIntersectionNode(ListNode headA, ListNode headB) {ListNode a = headA;ListNode b = headB;ListNode ins = null;while(a != b){a = (a != null) ? a.next : headB;b = (b != null) ? b.next : headA;ins = a;}return ins;}
}
http://www.shuangfujiaoyu.com/news/42600.html

相关文章:

  • 长春网站建设加王道下拉谷歌广告怎么投放
  • 大同格泰网站建设商业推广
  • 做家居网站设计网络营销策略理论有哪些
  • 网站推广网络青岛网站制作
  • 常德网站建设哪家快抖音企业推广
  • 网站建设推介会发言稿朝阳seo
  • 网站空间要多大如何建立自己的网站
  • 宝安中心地铁站时间表怎么样建网站
  • 桂林网站建设 腾云关键词分析工具网站
  • 网站备案流程多少钱品牌互动营销案例
  • 万州建设工程信息官网seo的优化策略有哪些
  • 做网站服务销售湖南seo推广多少钱
  • 代理彩票网站做链接郑州搜索引擎优化公司
  • 馆陶网站建设公司seo培训网
  • bbs网站设计模板seo推广代理
  • 长春专业做网站全网营销一站式推广
  • 建设公司自己的网站贵州seo培训
  • 毕业设计用PHP做旅游网站汕头网站设计
  • 建设小说网站的系统有哪些营销策划方案案例范文
  • 泰安网站建设工作室百度指数在线查询工具
  • 做电商网站用什么技术淘宝优化标题都是用什么软件
  • 用java怎么做门户网站北京培训seo哪个好
  • 中国设计师个人网站南京百度网站推广
  • 怎么制作公众号动图seo专家招聘
  • sem推广培训百度seo发帖推广
  • 完整的网站后台权限编码知乎软文推广
  • 免费一级做网站搜索引擎下载入口
  • 网站开启伪静态成都今天重大新闻事件
  • 滨海网站建设公司优化大师官方免费
  • 女装网站建设规划书自动提取关键词的软件