🖊作者 : Djx_hmbb
📘专栏 : 数据结构
😆今日分享 : 为什么天气热会变得暴躁?
答 : 暴躁的原因可能与血清素有关。血清素是人体内的“情绪管理大师”,对抑郁和焦虑有重要的调节作用。温度升高时,血清素受体的活动水平也随之升高,我们的情绪就会变得不稳定,开始焦虑、抑郁。温度高于 21℃ 会减少喜悦、幸福等积极情绪,增加压力、愤怒等负面情绪,还会让人感觉到疲劳和精力不足 。
文章目录
✔题目链接
✔题目
✔解题思路:
- 先计算出两个链表的长度,
- 让长的链表先走相差的长度,然后两个链表同时走,
- 直到遇到相同的节点,即为第一个公共节点 .
✔代码详情:
struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) {
int lenA = 0 ,lenB = 0;
struct ListNode *curA = headA ,*curB = headB;
struct ListNode* lista = headA ,*listb = headB;
//计算A的长度
while(curA){
++lenA;
curA = curA->next;
}
//计算B的长度
while(curB){
++lenB;
curB = curB->next;
}
//计算差值的绝对值
int gap = abs(lenA - lenB);
//长的先移动
if(lenA < lenB){
while(gap--){
listb = listb->next;
}
}
else{
while(gap--){
lista = lista->next;
}
}
//同时移动
while(lista){
if(lista == listb){
return lista;
}
lista = lista->next;
listb = listb->next;
}
return NULL;
}
感谢家人的阅读,若有不准确的地方 欢迎在评论区指正!