剑指offer总结

import java.util.Arrays;
Arrays.sort() 只是对数组排序(例如int[]),对ArrayList 不管用

import java.util.Collections;
Collections.sort() ArrayList的排序方式
ArraysList 没有下标索引不能用list[0],必须用list.get(0)

java中三中类型长度获取方法不同;
数组用length,注意数组必须指定长度!!!
字符串用length()
list用size()
ArrayList没有数组索引,其获得下标内内容方式为get()方法。
java中添加方法:
ArrayList为add(),字符串为append()

import java.util.Arrays;
import java.util.ArrayList;
import java.util.ArrayDeque;

StringBuffer 和StringBuilder不需要import可以直接用
String:
str.toCharArry() 变为字符型数组
StringBuffer:
str.toString() 变为字符串型String
str.charAt()
str.setCharAt()
StringBuilder:
str.toString()

Math.max 只能用在数组上吗,错只能用在两个数上

矩阵中的路径

重点:设立标志用于记录矩阵中位置是否被访问过
难点:终止条件
T38. 二叉树的深度
失误点:调用递归时+1
T39. 平衡二叉树
失误点:和求深度一样,别忘了递归时+1
T41. 和为S的连续正数序列
失误点:result添加后还要有small++;不然永远循环不完
T42. 和为S的两个数字
失误点:else if 而不是 if else
T43. 左旋转字符串
失误点:反转完了别忘了索引加减一
T44. 翻转单词顺序列
关键点:while条件 end<lennth endInx 条件
T45. 扑克牌顺子
先排序,计数0,计数差值
T46. 孩子们的游戏(圆圈中最后剩下的数)
关键点:牢记公式 (f(n-1,m)+m)%n
T48. 不用加减乘除做加法
失误点:num1&num2<<1 前边需要括起来,因为<<优先级更高
T51. 构建乘积数组
失误点:不能用所有的连乘再除以A[i],因为万一有0呢

T64.滑动窗口的最大值
关键点:两个ArrayList以及ArrayList的方法
这种方法:
https://blog.csdn.net/u014067137/article/details/81875872

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值