摘要:
思路: labuladong手把手带你刷二叉树(第二期) 按照题目给出的例子,输入的数组为[3,2,1,6,0,5],对于整棵树的根节点来说,其实在做这件事: TreeNode constructMaximumBinaryTree([3,2,1,6,0,5]) { // 找到数组中的最大值 Tree 阅读全文
摘要:
/* * @lc app=leetcode.cn id=226 lang=cpp * * [226] 翻转二叉树 * * https://leetcode-cn.com/problems/invert-binary-tree/description/ * * algorithms * Easy (7 阅读全文
摘要:
刷链表题目(训练递归思维) 递归反转链表的一部分 Leetcode [92][206]. 反转链表ii&i-输入一个链表,反转链表后,输出链表的所有元素。 如何k个一组反转链表 Leetcode 25. K 个一组反转链表 如何判断回文链表 Leetcode [234] 回文链表 回文 链表 二叉树 阅读全文
摘要:
基本技巧 动态规划解题套路框架 基础代码框架介绍 动态规划答疑篇 最优子结构 状态压缩:对动态规划进行降维打击 动态规划和回溯算法到底谁是谁爹? 子序列类型问题 经典动态规划:编辑距离 Leetcode 72 编辑距离edit-distance-动态规划,计算两词之间变换的最小步数 信封嵌套问题 L 阅读全文
摘要:
/* * @lc app=leetcode.cn id=1312 lang=cpp * * [1312] 让字符串成为回文串的最少插入次数 * * https://leetcode-cn.com/problems/minimum-insertion-steps-to-make-a-string-pa 阅读全文
摘要:
/* * @lc app=leetcode.cn id=234 lang=cpp * * [234] 回文链表 * * https://leetcode-cn.com/problems/palindrome-linked-list/description/ * * algorithms * Easy 阅读全文
摘要:
本文用pat表示模式串,长度为M,txt表示文本串,长度为N。KMP 算法是在txt中查找子串pat,如果存在,返回这个子串的起始索引,否则返回 -1。 一、KMP 算法概述 首先还是简单介绍一下 KMP 算法和暴力匹配算法的不同在哪里,难点在哪里,和动态规划有啥关系。 暴力的字符串匹配算法很容易写 阅读全文
摘要:
/* * @lc app=leetcode.cn id=99 lang=cpp * * [99] 恢复二叉搜索树 * * https://leetcode-cn.com/problems/recover-binary-search-tree/description/ * * algorithms * 阅读全文
摘要:
1、 find . "(" -name "*.m" -or -name "*.mm" -or -name "*.cpp" -or -name "*.h" -or -name "*.rss" ")" -print | xargs wc -l 2、过滤空行 find . -name "*.m" -or 阅读全文
摘要:
递归算法 二叉树的递归算法非常简单,设置好递归出口之后,根据遍历的顺序,对当前节点的左右子递归调用自身即可。其前序、中序、后序遍历的代码如下。 void preorder1(Node *root) //递归前序遍历 { if (root == NULL) return; printf("%d ", 阅读全文