河西网站建设公司,aso优化什么意思是,wordpress单页怎么加留言,任经理 徐州网站建设咳咳#xff0c;实在抱歉#xff0c;刚开始心气太高了#xff0c;叫『每日一题』#xff0c;我是真的坚持不下了。
经过这次打击#xff0c;我算是摸明白自己在写博客这件事情上几斤几两了#xff0c;现在预计一周两更#xff0c;再慢慢把更新频率提上来。
正在努力补…咳咳实在抱歉刚开始心气太高了叫『每日一题』我是真的坚持不下了。
经过这次打击我算是摸明白自己在写博客这件事情上几斤几两了现在预计一周两更再慢慢把更新频率提上来。
正在努力补漏中~ 一、题目 给你两个单链表的头节点 headA 和 headB 请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点返回 null 。
图示两个链表在节点 c1 开始相交 题目数据 保证 整个链式结构中不存在环。 二、思路解析 首先我们得先确定 headA 跟 headB 谁比较长让长的先走这两个链表长度的差值的步数以保证两个链表同时走到图中的 c1 位置。
然后我们让前面定义的 pl 跟 ps 的值赋为 headA 跟 headB pl 代表长链表ps 代表短链表。
然后就是前面说的长链表走差值步了。
不过还要注意一种特殊情况
pl 跟 ps 是因为都走到结束导致值为 null 而相等的这种情况我们要单独用 if 来进行判断以排除这种情况的发生。 三、完整代码 /*** 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) {ListNode pl headA;ListNode ps headB;int len1 0;int len2 0;while(pl!null){pl pl.next;len1;}while(ps!null){ps ps.next;len2;}pl headA;ps headB;int len len1 - len2;if(len0){pl headB;ps headA;len len2 - len1;}while(len!0){pl pl.next;len--;}while(pl!ps){pl pl.next;ps ps.next;}if(pl null){return null;}return pl;}
} 以上就是本篇博客的全部内容啦如有不足之处还请各位指出期待能和各位一起进步