![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
刷题
稀特饭
感觉依然无限大,音乐依然范特西。
展开
-
剑指offer-重建二叉树c++实现
分析:对于二叉树的还原问题,首先应该对于先序遍历以及中序遍历的特点有一定的了解。每一个先序遍历的结点都是对应子树的根结点,于是在中序遍历中,位于该结点左边的为其左子树,右边的为其右子树。进行反复划分后,采取递归的方式解决问题。 class Solution { public: TreeNode* PreOrderBulid(vector<int>& A,vector<int>& B,int l1,int h1,int l2,int h2){ T原创 2020-12-22 09:44:51 · 119 阅读 · 0 评论 -
剑指offer-从尾打印链表cpp实现
分析:由于需要逆序,考虑使用栈的方式实现,对比于自定义栈的形式实现,可以考虑递归的方式使用系统中的栈;此时,虽然代码变得简单了不少,但是空间复杂度会变得较大。 class Solution { public: vector<int> reversePrint(ListNode* head) { if(!head)//如果遍历到链表尾部,返回空 return {}; vector<int> a=reversePrint(head-原创 2020-12-21 11:35:13 · 66 阅读 · 0 评论 -
剑指offer-替换空格c++实现
分析:考虑采用双指针的形式进行遍历。每次双指针指向的区间都是一个单词,遇到空格则使用"%20"进行替换。为防止指针变量出错,所以每次取出一个单词则将原字符串截取掉最前面的那一部分,直到整个字符串被截取完毕; ‘’ ‘’’ ...原创 2020-12-21 11:03:47 · 79 阅读 · 0 评论