AlgorithmAndDataStructure
AlgorithmAndDataStructure copied to clipboard
互联网行业研发岗面试必备算法题配图解析及代码
计划完成牛客网剑指Offer习题以及LeetCode中的100+道,持续更新,剑指Offer的题主要用python,LeetCode的题会用Java。另外Android、Java岗面试必备知识点与常见面试题见另一个仓库,涉及Java、Android、数据库原理、操作系统、计算机网络等。
牛客网-剑指offer
-
二维数组中的查找
-
替换空格
-
从尾到头打印链表
-
重建二叉树
-
用两个栈实现队列
-
旋转数组的最小数字
-
跳台阶
-
变态跳台阶
-
矩形覆盖
-
二进制中1的个数
-
数值的整数次方
-
调整数组顺序使奇数位于偶数前面
-
链表中倒数第k个节点
-
反转链表
-
合并两个排序的链表
-
树的子结构
-
树的镜像
-
顺时针打印矩阵
-
包含min函数的栈
-
栈的压入&弹出顺序
-
从上往下打印二叉树
-
二叉搜索树的后序遍历
-
二叉树中和为某一数的路径
-
复杂链表的复制
-
二叉搜索树与双向链表
-
字符串的排列
-
数组中出现次数超过一半的数字
-
最小的K个数
-
连续子数组的最大和
-
把数组排成最小的数
-
整数中1出现的次数
-
丑数
-
第一次只出现一次的字符
-
两个链表的第一个公共节点
-
数字在排序数组中出现的次数
-
二叉树的深度
-
平衡二叉树
-
数组中只出现一次的数字
-
和为s的连续正数序列
-
和为s的两个数字
-
左旋字符串
-
翻转单词序列
-
扑克牌顺子
-
圆圈中的最后数字
-
不能用循环的1到n之和
-
不用加减乘除做加法
-
将字符串转为整数
-
寻找数组中任意一个重复的数字
-
构建乘积数组
-
正则表达式匹配
-
字符流中第一个不重复的字符
-
最大陆地问题
-
机器人的运动范围
-
矩阵中的路径
-
滑动窗口的最大值
-
数据流的中位数
-
数组中的逆序对
-
表示数值的字符串
-
二叉搜索树的第k个节点
-
序列化二叉树
-
把二叉树打印成多行(层序遍历)
-
按之字形打印二叉树
-
对称的二叉树
-
二叉树的下一个节点
-
删除有序链表中重复的节点
-
链表中环的入口节点
-
字符流中第一个不重复的字符
-
表示数字的字符串
LeetCode
- minimum-depth-of-binary-tree(求解二叉树的最小深度)
- evaluate-reverse-polish-notation(计算逆波兰式的值)
- max-points-on-a-line(同一条直线上的最多的点的数量)
- sort-list(排序List)
- insertion-sort-list(使用插入排序对链表进行排序)
- binary-tree-postorder-traversal(后序遍历二叉树)
- binary-tree-preorder-traversal(先序遍历二叉树)
- reorder-list(链表重排序)
- linked-list-cycle-ii(找出链表中环的入口节点)
- linked-list-cycle(判断链表中是否存在环)
- word-break(单词切分)
- word-break-ii(单词切分2)
- copy-list-with-random-pointer(拷贝具有随机指针的链表)
- single-number(出现一次的数)
- single-number-ii(出现一次的数2)
- candy(糖果问题)
- Gas-station(加油站问题)
- clone-graph(图的复制)