[Lc]138复制带随机指针的链表 2020-05-19 leetcode 题目 题解 链表定义: // Definition for a Node. class Node { public: int val; Node* next; Node* random; Node(int _val) { val = _val; next = NULL; random = NULL; } }; 1. 复制链表节点法 在每个节点后复制新的节点,三次遍历 先复制新的节点 Read more...
[Lc]面试题35复杂链表的复制 2020-05-19 剑指offer 题目 题解 链表定义: // Definition for a Node. class Node { public: int val; Node* next; Node* random; Node(int _val) { val = _val; next = NULL; random = NULL; } }; 详细注释看138题 1. 复制链表节点法 在每个节点后复制新的节点,三次 Read more...
[Lc]面试题34二叉树中和为某一值的路径 2020-05-19 剑指offer 题目 二叉树结构如下: //Definition for a binary tree node. struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; 题解 这道题和113一样,可以用递归和迭代两种方法。这里再练习写一遍,详细题 Read more...
[Lc]面试题33二叉搜索树的后序遍历序列 2020-05-19 剑指offer 题目 题解 二叉树结构如下: //Definition for a binary tree node. struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; 1. 分治递归法 二叉搜索树的性质见这里。后序遍历的顺序是左->根-& Read more...
[Lc]面试题32_III从上到下打印二叉树III 2020-05-18 剑指offer 题目 题解 二叉树结构如下: //Definition for a binary tree node. struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; 1. 队列迭代法 比上一题再复杂一点,要区分奇偶行,偶数行从后面加数,奇数行 Read more...
[Lc]面试题32_II从上到下打印二叉树II 2020-05-18 剑指offer 题目 题解 二叉树结构如下: //Definition for a binary tree node. struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; 1. 队列迭代法 比上一题稍微复杂一点,不同层次要分开存,因此这里要多一个循 Read more...
[Lc]面试题32_I从上到下打印二叉树 2020-05-18 剑指offer 题目 题解 其实就是二叉树的层次遍历,比102简单。因为这道题不分层因此用dfs不好做,还是用bfs好 时间复杂度$O(n)$ 空间复杂度$O(n) Read more...
[Lc]面试题31栈的压入、弹出序列 2020-05-18 剑指offer 题目 题解 二叉树结构如下: //Definition for a binary tree node. struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; 这个就用一个栈来模拟压入,出栈就可以了。每存一个数要检查当前的popp Read more...
[Lc]946验证栈序列 2020-05-18 leetcode 题目 题解 这个就用一个栈来模拟压入,出栈就可以了。每存一个数要检查当前的popped数组的首位 时间复杂度$O(n)$ 空间复杂度$O(n)$ class Solution Read more...
[Lc]面试题30包含min函数的栈 2020-05-18 剑指offer 题目 题解 两个类似的方法,一个是使用辅助栈存当前的最小值,一个是直接用一个栈保存一个pari,包括原值和最小值,个人感觉后一种方法更加直观,即 Read more...