[labuladong]秒杀双链表题目Summary

目录

 基础知识

 l26、l27

l167、 l5、l344

?运算符 

 

 基础知识

两种指针:a.快慢指针 b.左右指针

1)分别解决什么问题

2)如何使用

 l26、l27

快慢指针

tips:原地修改注意

l167、 l5、l344

左右指针

l167有二分搜索的思想

1.下标从1开始:给的数组是从0,只不过返回的结果要在计算出的结果基础上+1;(leetcode 167.)

2.关于167为什么只能左指针控制向右增大,右指针控制向左减小:当左右指针左右都有空间可以移动时,依然遵循以上结论,证明如下:
    a.左指针向左有空间,说明之前左指针因"sum<target"向右移动,而现在相比之前更靠左数更小(或一样),因为右指针只能向左移动。在以前右指针大的情况下左指针在左边仍会出现"sum<target",说明左指针经过的点不需要再考虑了。
    b.右指针同理

l5、l344将数组变成回文、找出最长回文子串问题,是更加清晰的左右指针思想 

?运算符 
int num=10;
String result;
if(num>0){
	result="positive";
}else
	result="negative";

等同于

int num=10;
String result=(num>0)?"positive":"negetive";

格式是 :

(表达式)?结果A:结果B

如果表达式为真,则返回结果A,否则返回结果B

教程原文:双指针技巧秒杀七道数组题目 | labuladong 的算法笔记

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值