leetcode 算法-双指针java总结
文章目录
- 前言
- 一、 [leetcode 27. 移除元素-java版本](https://blog.csdn.net/qq_41810415/article/details/125889812)
- 二、 [344. 反转字符串](https://blog.csdn.net/qq_41810415/article/details/127109444?spm=1001.2014.3001.5501)
- 三、[替换空格](https://blog.csdn.net/qq_41810415/article/details/124566132)
- [四、151. 反转字符串中的单词](https://blog.csdn.net/qq_41810415/article/details/127109444?spm=1001.2014.3001.5501)
- 五、[206.翻转链表](https://blog.csdn.net/qq_41810415/article/details/126634163)
- 六、[leetcode 19. 删除链表的倒数第 N 个结点-java实现](https://blog.csdn.net/qq_41810415/article/details/125754600)
- 七、160. 相交链表
- 八、环形链表II
- 九、三数之和
- 十、四数之和
前言
双指针算法 基础可以点进来
里面有模板
一、 leetcode 27. 移除元素-java版本
简单的一道题
二、 344. 反转字符串
三、替换空格
四、151. 反转字符串中的单词
五、206.翻转链表
六、leetcode 19. 删除链表的倒数第 N 个结点-java实现
七、160. 相交链表
评测系统将根据这些输入创建链式数据结构,并将两个头节点 headA 和 headB 传递给你的程序。如果程序能够正确返回相交节点,那么你的解决方案将被 视作正确答案 。
输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,6,1,8,4,5], skipA = 2, skipB = 3
输出:Intersected at ‘8’
解释:相交节点的值为 8 (注意,如果两个链表相交则不能为 0)。
从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,6,1,8,4,5]。
在 A 中,相交节点前有 2 个节点;在 B 中,相交节点前有 3 个节点。
— 请注意相交节点的值不为 1,因为在链表 A 和链表 B 之中值为 1 的节点 (A 中第二个节点和 B 中第三个节点) 是不同的节点。换句话说,它们在内存中指向两个不同的位置,而链表 A 和链表 B 中值为 8 的节点 (A 中第三个节点,B 中第四个节点) 在内存中指向相同的位置。
题解
/**
* 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 a = headA ;
ListNode b = headB ;
while( a != b ){
if(a != null ) a = a.next ;
else a = headB ;
if(b != null) b = b.next ;
else b = headA ;
}
return a ;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)