![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
只会写臭虫
这个作者很懒,什么都没留下…
展开
-
【剑指offer】树的子结构
题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) class Solution { public: bool judge(TreeNode* a,TreeNode* b){ if(b==NULL) return true; if(a!=NULL&&b!=NU...原创 2019-07-31 00:15:57 · 86 阅读 · 0 评论 -
剑指Offer--二叉搜索树后序遍历
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 **解答:**将当前树看成二叉搜索树,那么最后一个数字就是当前树的根,而0到right-1可以划分为两段区间,第一段区间中所有的数都小于根(当然这一段区间可能为空),第二段区间中所有的数都大于根(当然这一段区间可能为空),然后对这两段区间再进行递归判断。 cl...原创 2019-08-10 01:37:11 · 116 阅读 · 0 评论 -
剑指offer:二叉搜索树和双向链表
题目: 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 解答: 利用二叉树的中序遍历,找到第一个访问的结点(利用标志位first),用head记录头结点,p记录上一个访问的结点。cur记录当前中序遍历访问的结点。 代码: /* st...原创 2019-08-11 11:29:13 · 71 阅读 · 0 评论 -
二叉树的镜像、判断二叉树是否为对称二叉树
操作给定的二叉树,将其变换为源二叉树的镜像。 思路: 后续递归,访问的结点的时候将node的left和right结点指向交换一下即可。 class Solution { public: void Mirror(TreeNode *pRoot) { if(!pRoot) return; TreeNode *tmp=pRoo...原创 2019-08-20 14:59:30 · 318 阅读 · 0 评论 -
最小的k个数(堆排序实现)
先用数组前k个元素维护一个大小为k的大顶堆(每次将元素插在最后,然后自底向上调整),从第k+1个数组元素开始,当数组元素小于堆顶时,取出堆顶,然后将这个元素放在堆顶,自顶向下调整。 最后取出k个数的时候,先取出堆顶,然后将最后一个元素放在堆顶,自顶向下调整。 class Solution { public: static const int maxn=1000000; int f=...原创 2019-08-15 14:27:46 · 493 阅读 · 0 评论 -
剑指offer:删除链表中的重复结点(重复的结点不保留)
题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 思路:因为这题要把结点重复的都删除,所以要考虑当第一二个结点就重复的情况。所以设立一个虚拟头结点,pre初始指向这个虚拟头结点。这里要用一个flag记录当前节点是否是连...原创 2019-08-16 18:21:11 · 61 阅读 · 0 评论 -
字符串交错组成(牛客网,动态规划)
对于三个字符串A,B,C。我们称C由A和B交错组成当且仅当C包含且仅包含A,B中所有字符,且对应的顺序不改变。请编写一个高效算法,判断C串是否由A和B交错组成。 给定三个字符串A,B和C,及他们的长度。请返回一个bool值,代表C是否由A和B交错组成。保证三个串的长度均小于等于100。 测试样例: “ABC”,3,“12C”,3,“A12BCC”,6 返回: true 思路: 设dp[i][j]为...原创 2019-08-17 15:42:22 · 629 阅读 · 0 评论 -
最优编辑(牛客网,动态规划)
对于两个字符串A和B,我们需要进行插入、删除和修改操作将A串变为B串,定义c0,c1,c2分别为三种操作的代价,请设计一个高效算法,求出将A串变为B串所需要的最少代价。 给定两个字符串A和B,及它们的长度和三种操作代价,请返回将A串变为B串所需要的最小代价。保证两串长度均小于等于300,且三种代价值均小于等于100。 测试样例: “abc”,3,“adc”,3,5,3,100 返回:8 思路: d...原创 2019-08-17 16:05:18 · 311 阅读 · 0 评论