总结
empty__barrel
这个作者很懒,什么都没留下…
展开
-
思考递归问题的方式、思考前序遍历的方式
思考递归问题方式:一:思考问题(最底层、最左边)二:解决问题(找到每一个左叶子比较深度)三:递归三部曲:1:确定递归函数的参数和返回值、2:确定终止条件(即主代码:满足问题的情况)、3:确定单层递归的逻辑(即遍历顺序、首先思考遍历方式即此题的先序遍历、然后再用方法③即根的情况(即主代码不用思考了)、左树的情况(此时情况写递归函数时用递归函数名字来思考)、右树的情况)递归遍历、迭代遍历。每个又分为三种前中后序。先序遍历:左边遍历到达终点,回退一个单位然后走右边。(只思考最后的三个节点即可)。原创 2022-03-03 16:32:49 · 254 阅读 · 0 评论 -
递归方法总结
函数的含义直接代入代码中。根,左右。结束条件从尾部思考得到的结论只有:这个题目可以用递归真正写函数体从头开始思考可以写出代码从中部开始思考可以清晰递归过程原创 2022-02-26 19:38:13 · 198 阅读 · 0 评论 -
KMP算法易理解
next 数组 下标代表:第几个字符比较失败。next数组内的值代表:比较失败的字符(下标对应的字符)应与第几个字符进行比较。所以这个值就是最长字符串前缀的长度+1。寻找从开头到失败位置的公共前后缀。最长前缀长度为3、最长后缀长度为3,那么这个失败的值应于下标为3的字符重新匹配。失败位置前的公共前后缀有多长,则next数组内的值就为此值+1。不过next【0】,next【1】的公共前后缀有多长,则next数组内的值就为此值,不用加1.要找到一串与T【j-1】前面一串相匹配,同时按图可知:此时原创 2022-02-26 15:59:43 · 305 阅读 · 0 评论 -
对代码思路的描述即:解释代码
对代码思路的描述即:解释代码:例:取栈顶。当栈顶不为空:入栈顶的左右中,入中后再入一个NULL。再取栈顶(即中元素后一个元素(NULL))此时节点为空。当节点为空:去NULL,存中元素值,再去中元素。再取栈顶,此时栈顶为左孩子,然后将左孩子作为根重新操作。class Solution {public: TreeNode* invertTree(TreeNode* root) { stack<TreeNode*> st; if (root !=原创 2022-02-25 07:50:04 · 403 阅读 · 0 评论 -
链表题目总结
链表题目总结:虚拟头结点的使用:每次对应头结点的情况都要单独处理,虚拟头结点的使用可以解决这个问题。移除链表元素:运用虚拟头结点正常删除反转链表:双指针法,通过一个节点反转之后,还要进行接下来的反转,通过下一个节点来知道位置。(即双指针分别运用于当前值的处理以及下一个值的处理)两两交换链表中的节点:结合虚拟头结点 和 双指针法。双指针法(即交换节点后,还要进行接下来的交换通过下一个节点来知道位置)(即双指针分别运用于当前值的处理以及下一个值的处理)删除链表倒数第N个节点:结合虚拟头结点 和 双指针原创 2022-02-19 22:56:42 · 200 阅读 · 0 评论 -
字符串总结
题目:力扣:344.反转字符串通过下标反转字符串力扣:541.反转字符串||起点向后看有没有 k 个字符,没有则直接翻转到末尾然后退出,有则翻转 k 个,然后到 2k 的位置,没有则退出。力扣:剑指Offer 05.替换空格在原空间上拓展,准备好储存整个字符串的空间,然后按原字符串从后往前填入,遇到空格填入%20即可。从前面填入:不需要挪动后面的元素,直接填入即可。从后面填入:需要挪动后面的元素。力扣:151.翻转字符串里的单词①:删除多余空格(元素):双指针法②:先整体翻转,然后按单原创 2022-02-25 21:15:30 · 56 阅读 · 0 评论 -
哈希表总结
一般来说哈希表都是用来快速判断一个元素是否出现集合里。哈希函数是把传入的key映射到符号表的索引上。哈希碰撞处理有多个key映射到相同索引上时的情景,处理碰撞的普遍方式是拉链法和线性探测法。接下来是常见的三种哈希结构:数组set(集合)map(映射)...原创 2022-02-25 20:46:43 · 267 阅读 · 0 评论 -
数组题目方法总结
一:二分查找法(查找某值):有序数组,无重复元素。以下为两种方法:①:左闭右闭②:左闭右开二:双指针法:涉及数组中元素的迁移①:除去val的值②:将每个值的平方顺序排列于另一数组中三:滑动窗口法:关于连续子串的操作(是判读一个子串整体是否满足某条件的操作)两个题目:一个是筛选出数组中某一子串不同元素个数小于等于某一值的最大子串长度。一个是筛选出元素和大于等于某一值的最小子串长度。说白了就是关于连续子串的操作(是判读一个子串整体是否满足某条件的操作)此时就可以使用滑动窗口法。优势解析:原创 2022-02-09 23:44:43 · 822 阅读 · 0 评论 -
栈与队列总结
栈先进后出,通过栈可以将栈中元素顺序对调。队列先进先出,队列则不行。题目:力扣:232.用栈实现队列入元素到栈A,栈A元素到栈B中,栈B顺序即队列顺序。力扣:225. 用队列实现栈出元素即出队列尾,将队列A中除最后一个元素全部放入队列B中,这时可取出最后一个。力扣:20. 有效的括号括号前后对应,逐渐加括号,遇到反括号与前一个括号匹配即可,那么是前括号时入反括号,更好与反括号比较。三种情况:前括号多,后括号多,刚刚好,不匹配。力扣:1047. 删除字符串中的所有相邻重复项逐一入栈,遇到原创 2022-02-25 21:57:39 · 354 阅读 · 0 评论