很久没写刷题笔记了,简单小结一下这一周多的结果:目前已刷63道,平均一天4-5道,主刷easy题。tree部分的easy作了一大半,hash table的easy作了一半左右,linkedlist部分easy题基本作完,如今再按题号顺序跳着作。基本每道题都在leetcode自带的note上作了笔记,并从前天开始记录天天刷题进度,因此这个博客就有点多余了。应该不会再像以前那样把每道题都po上来,可是会用它来作一段时间的刷题总结或者记录一些须要掌握的知识点之类的。 须要掌握的一些基本操做(想到哪写到哪): 1. 把list转成数组 2. 把string转成字符数组: str.toCharArray() 3. 把字符数组转成string: String.valueOf(ch) 4. 遍历一个string里的每一个substring(brute force的算法须要用到) 5. 把integer反转(考虑溢出问题) 6. 由5引伸来的:判断一个数是否palindromic 7. 判断两数组是否相同: Arrays.equals(a1, a2) 8. 判断两字符串是否相同: str1.equals(str2) 9. 判断字符串是否为空: str.isEmpty() 10. 求链表长度 11. 找到index为i的节点(删除,插入) 12. 删除某节点的两个方法: 1.找前一个节点使prev.next = prev.next.next;注意:当须要删除第一个节点时能够在 linkedlist前加一个dummynode 2.改变须要删除的节点的值并删除下一个:del.val = del.next.val; del.next = del.next.next;注意:这种方法不能删除最后一个节点 截止01/18/2019已经刷了119道了,开学以后平均一天两道且多为hard。昨天作了32一、Create Maximum Number,总结一下须要记住的知识: 1. 从一个数组中选出k个数,且保持它们在数组中的相对位置所能组成最大的数 2. 合并两个数组,且保持它们在各自数组中的相对位置所能组成的最大的数