题库总结
bobo小妞儿~
这个作者很懒,什么都没留下…
展开
-
算法分类及题库(leetcode+剑指offer)
剑指offer题型分类1、深度优先遍历offer34 二叉树总和为某一值得路径offer55-I 二叉树的深度offer55-II 平衡二叉树2、广度优先遍历3、BFS&DFSleetcode103. 蛇形打印二叉树/锯齿形层次遍历1、深度优先遍历offer34 二叉树总和为某一值得路径offer55-I 二叉树的深度offer55-II 平衡二叉树输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。2、广度优先原创 2020-07-10 18:58:20 · 238 阅读 · 0 评论 -
leetcode103. 蛇形打印二叉树/锯齿形层次遍历
BFS层级遍历+蛇形输出思路:1、使用广度优先遍历,将二叉树所有节点存放于一个双端队列中。2、使用分隔符(空节点)将层级分离。3、使用bool控制每一行的输出顺序即可。执行用时:8 ms内存消耗:11.5 MB/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(原创 2020-07-10 18:57:31 · 476 阅读 · 0 评论 -
剑指offer:和为S的两个数字——扩展
题目:输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。要点:1、递增排序2、和为S3、乘积最小,a*b=S,要使乘积最小,也就是|a-b|最大;乘积最大,也就|a-b|最小乘积最小方法及思路:1、双指针min 和max:a[min]+a[max]等于sum,则找到;如果和小于sum,则将min++;如果和大于sum,则将max–。class Solution {public: vector<原创 2020-06-29 12:16:57 · 6584 阅读 · 0 评论