这是学习leetcode初级算法学习笔记,以便后续复习。 本部分于国庆最后一天10/8号更新完毕。本人相应的做法也标记在了后面,以提醒自己复习,当然我的做法肯定不是最好的,只是做个参考,欢迎到leetcode评论区讨论。
本部分只是用java语言记录了leetcode的初级算法的学习和汇总,详细的解题都会放在leetcode题解上,以便督促自己学习和寻找乐趣。
第一章 数组(更新完毕)
- 删除排序数组的重复元素(双指针)
- 买卖股票的最佳时机2(遍历)
- 旋转数组(暴力法)
- 存在重复的元素(set去重)
- 只出现一次的数(set去重)
- 两个数组的交集2(map查找表)
- 加一(遍历)
- 移动零(双指针)
- 两数之和(map查找表)
- 有效的数独(查找表)
- 旋转图像(由外向内)
第二章 字符串(更新完毕)
- 翻转字符串(首尾交换,整体后移)
- 整数翻转(溢出判断))
- 字符串中的第一个唯一字符(map查找表)
- 有效的字母移位词(查找表)
- 验证回文串(双指针)
- 字符串转换整数(边界判断)
- 实现strStr(KMP)(暴力法)
- 外观数列(递归)
- 最长公共前缀(遍历)
第三章 链表(待更完毕)
第四章 树(更新完毕)
- 二叉树的最大深度(递归)
- 验证二叉搜索树(中序遍历)
- 对称的二叉树(递归)
- 二叉树的层序遍历
- 将有序的数组转化为二叉搜索树(排序)
第五章 排序和搜索(更新完毕)
第六章 动态规划(更新完毕)
第七章 设计问题(更新完毕)
数学(更新完毕)