日記20200630

2020年06月30日

  1. 优秀代码参考

ID题目大致内容解题思想注意点
225用队列实现栈用两个队列就可以
232用栈实现队列和225思路一样,用两个栈就可以
71简化路径把字符串转化成字符数组,以"/“分割,先排除是不是当前目录”.“和空”",然后要是返回上一级,"…",则出栈,不然进栈。字符数组遍历完了,判断栈是不是空,是,返回"/",不然遍历栈中的元素,然后每个元素前加上"/",即fPath.append("/").append(p);, 返回fPath。
94二叉树的中序遍历用递归简单; 利用栈,去模拟递归。递归压栈的过程,就是保存现场,就是保存当前的变量,而解法一中当前有用的变量就是 node,所以我们用栈把每次的 node 保存起来即可。
103二叉树的锯齿形层次遍历就是之字型遍历,建立两个栈s1和s2,给定遍历layer=1,在遍历过程中layer++。当layer为奇数从左到右,也就是s1.pop为node,将node的左右节点分别加到s2;当为偶数,从右到左,也就是s2.pop为node,将node的右左节点分别加到s1。while循环直到s1和s2都为空
144二叉树的前序遍历递归,用栈模拟
150逆波兰表达式求值N用栈,switch case语句,来执行对应的加减乘除操作,最后栈种肯定只有一个数,返回栈的弹出即可

常用方法积累

类名方法名解释
ArrayListindexOf(value)返回value值对应的索引值,
ArrayListcopyOfRange(T[ ] original,int from,int to)将原数组original,从下标from开始复制,复制到上标to,生成一个新的数组。
ArrayListans.get(i).append©名为ans的ArrayList对象拿出索引i处的元素,并在其后追加一个字符或数字c。注意不是[index]
HashMapgetOrDefault(Object key, V defaultValue)当Map集合中有这个key时,就使用对应的value值,如果没有就使用默认值defaultValue
MapentrySet()获取所有key和value,遍历的时候用,例子:for (Map.Entry<String, String> entry : map.entrySet()) {System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());}
IntegertoBinaryString(num)返回num整数的二进制字符串表达
IntegertoHexString(num)返回num整数的十六进制字符串表达
IntegerbitCount(num)返回num整数的二进制表达式中1的个数
CharactertoLowerCase©返回c的字母小写形式
CharactertoUpperCase©返回c的字母大写形式
CharacterisLetter©判断c是否为字母
Stringformat(patten,num)格式化字符串,比如format("%d:%02d",1,2),输出结果为1:02
StringsubString(start,end)含start,不含end
StringBuilderdeleteCharAt(index删除索引所在处的字符
Arraysfill(Object[] a, Object val)再数组a中把所有值都填充为val
Arraysequals(s1,s2)比较两个数组元素是否相同
ArraysasList(s1,…,sn)将一个数组s1,…,sn转换为 List.注意,数组元素不能是原生数据类型(int,long等),要用其包装类Integer等
Arraysset(index,element)修改列表中的值。(index指定下标,element指定要修改后元素的值)
SystemarrayCopy(Object src, int srcPos, Object dest, int destPos, int length)Object src : 原数组; int srcPos:从元数据的起始位置开始; Object dest:目标数组; int destPos:目标数组的开始起始位置; int length:要copy的数组的长度
TreeSetfloor(E e)返回在这个集合中小于或者等于给定元素的最大元素,如果不存在这样的元素,返回null.
TreeSetceiling(E e)返回在这个集合中大于或者等于给定元素的最小元素,如果不存在这样的元素,返回null.

参考

  1. leetcode-
  2. 博客-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值