- b04_替换空格
- c14_调整数组顺序使奇数位于偶数前面
- c15_链表中倒数第k个结点
- e34_丑数(三指针)
- e36_数组中的逆序对★
- f41_1$和为s的两个数字
- f41_2$和为s的连续正数序列
- f44_扑克牌的顺子:1. 排序、2. 数大小王、3. 数空缺。注意对子
- h56_链表中环的入口结点(三指针)
- b06_重建二叉树
- c11_数值的整数次方 <==公式
- c18_树的子结构★
- d19_二叉树的镜像
- d24_二叉搜索树的后序遍历序列
- d25_二叉树中和为某一值的路径
- f39_1$二叉树的深度
- f39_2$判断二叉树是否平衡★
- 排列组合
- h53_正则表达式匹配
- h59_对称的二叉树★
- ../nowcoder/b_2nd_Season/bf160824/README.md
- b05_从尾到头打印链表
- c13_删除链表结点
- c15_链表中倒数第k个结点
- c16_反转链表
- c17_合并两个排序的链表★, 此题会了,链表的操作稳了!
- d26_复杂链表的复制
- e37_两个单向链表的第一个公共结点
- h56_链表中环的入口结点
- h57_删除链表中重复的结点
- ..nowcoder/b_2nd_Season/bh160907/README.md
- ..nowcoder/b_2nd_Season/bi160914/README.md
- ..nowcoder/b_2nd_Season/bj160928/README.md
- b06_重建二叉树
- c18_树的子结构
- d19_二叉树的镜像
- d23_从上往下打印二叉树
- d24_二叉搜索树的后序遍历序列
- d25_二叉树中和为某一值的路径
- d27_二叉搜索树与双向链表★
- f39_1$二叉树的深度
- f39_2$判断二叉树是否平衡
- g50_树中两个结点的最低公共祖先
- h58_二叉树的下一个结点
- h59_对称的二叉树★
- h60_把二叉树打印成多行
- h61_按之字形顺序打印二叉树
- h62_序列化二叉树
- h63_二叉搜索树的第k个结点★
- d20_顺时针打印矩阵:注意一下每次打印的边界条件判断
- e31_连续子数组的最大和,这是一个算法原型:SubArrayMaxSum.java
- f42_1$翻转单词顺序、f42_2$左旋转字符串,Reverse函数。
- f44_扑克牌的顺子:1. 排序、2. 数大小王、3. 数空缺。注意对子
- g49_把字符串转换成整数,注意:null、""、+、-、非法字符、溢出
- h52_构建乘积数组,这就是一道数学题了
- h54_表示数值的字符串
- h65_滑动窗口的最大值,这也是一个算法原型:SlidingWindowMaxValue.java
这里的所有测试用例 均copy自王俊超的剑指 Offer 学习心得 但是解题思路,代码基本还是以书上为准(毕竟我写的这些解题思路的确有点太白话了),当然也有几道题 书上的也并不是最优解。比如c17_合并两个排序的链表、e37_两个单向链表的第一个公共结点、、、
加★代表,除了上面标题的自然想法之外,书上还给出了另一种正常人想不到的神级方法。!!没事就看几遍