算法题目
剑指offer
- 二叉树转双向链表(中序遍历)
- 二叉树中和为某一值的路径(根节点到叶节点)
- 判断二叉树是否平衡
- 输入两棵二叉树A,B,判断B是不是A的子结构
- 求二叉搜索树的第k个节点
- 对二叉树求镜像变换
- 二叉树中两个节点的最近公共父节点
- 求二查搜索树节点的下一个节点
- 根据中序和前序遍历重建二叉树
- 序列化二叉树
- 判断一颗二叉树是不是对称的
- 求二叉树深度
- 求二叉树节点值的和最大的路径(后序遍历)
- 求二叉树的最小深度
- 求二叉树的特定节点和的路径
- 将二叉树的同层节点链接成链表
- 求二叉树中节点的最大距离
- 找出二叉搜索树中一对被调换的节点
- 复杂链表的复制
- 寻找和为某个值的递增序列
- 删除有序链表中重复的节点
- 寻找两个链表的第一个交点
- 连续子数组的最大和
- 求链表的倒数第K个节点
- 数字1-N中1出现的个数
- 一个整型数组里除了两个数字之外,其他的数字都出现了两次
- 在一个字符串中找到第一个只出现一次的字符
- 统计一个数字在排序数组中出现的次数
- 统计数组的逆序对(归并排序)
- 扑克牌顺子
- 循环左移字符串
- 去链表环的入口
- 实现能得到最小值的栈
- 实现能得到最大值的队列
- 找出数组中重复次数超过数组长度一半的那个数
- 求乘幂
- 从左到右打印二叉树
- 之字形打印二叉树
- 用两个栈实现队列
- 调整数组顺序使奇数位于偶数前面
- 正则表达式匹配
- 反转链表
- 反转字符串中的单词
- 求滑动窗口的最大值
- 判断序列是否是后序遍历的结果
- 判断序列是否可能是栈的退栈序列
- 字符串的全排列
- 二维数组的二分查找
- 合并已排序的数组A和数组B到数组A中(从后往前填充数组A!)
- 替换空格
- 寻找数据流中的中位数
LeetCode
- 求两个有序数组的中位数
- 股票最大收益
- 求二叉树节点值的和最大的路径(后序遍历)
- 求二叉树的最小深度
- 求二叉树的特定节点和的路径
- 将二叉树的同层节点链接成链表
- 有序链表转二叉搜索树
- 有序数组转二叉搜索树
- 找出二叉搜索树中一对被调换的节点
- 求二叉搜索树有多少种
- 在无序数组中找出最长的连续递增序列(先把所有元素放到HashSet中,再向前搜索和向后搜索)
- 统计在点集内位于同一条直线的最多点数
- 字符串包含匹配的最小窗口
- 求字符串中的回文子串
- 链表重排(找链表中点,反转链表,合并链表)
- 链表排序(归并排序,插入排序)
- 链表局部反转
- 求集合的所有子集
- 分词
- 格雷码
- 求最大矩形区域(单调栈)