![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指Offer
文森特9527
这个作者很懒,什么都没留下…
展开
-
剑指offer--- 重建二叉树
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 使用语言:C++(clang++3.9) 时间限制:< 1s 空间限制:< 32M 解题思路: 题目考查重点应该是二叉树的遍历和特性....原创 2020-01-03 11:35:23 · 206 阅读 · 1 评论 -
剑指offer---反转链表
题目描述 输入一个链表,反转链表后,输出新链表的表头。 使用语言:C++(clang++3.9) 时间限制:< 1s 空间限制:< 32M 解题思路: 一.采用迭代的方法. 二.采用递归的方法. 迭代实现: /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : ...原创 2019-12-31 09:13:24 · 89 阅读 · 1 评论 -
剑指offer---用两个栈实现队列
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 使用语言:C++(clang++3.9) 时间限制:< 1s 空间限制:< 32M 解题思路: 题目考查重点应该是栈和队列的属性.栈:先进后出;队列:先进先出.依照这个属性,入列就先入一个特定的栈,出列的时候,将入列栈的数据出栈再压入第二个栈,就将原来栈低的数据转换到了栈顶,依次顺序出...原创 2019-12-30 10:41:28 · 75 阅读 · 0 评论 -
剑指offer---二维数组中的查找
题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 使用语言:C++(clang++3.9) 时间限制:< 2s 空间限制:< 32M 解题思路: 思路一:暴力查询,逐行逐列查询,时间复杂度O(MxN); 思路二:二分法,或者十...原创 2019-12-08 21:08:49 · 82 阅读 · 0 评论 -
剑指offer---从尾到头打印链表
题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 使用语言:C++(clang++3.9) 时间限制:< 1s 空间限制:< 32M 解题思路: 典型的逆序问题: 思路一:可用栈(可以用栈意味着递归也是可以的) 思路二:因也用的是C++, 可直接使用数组的转置; 思路三:使用容器vector 的头插,不推荐,vector头插效率太低; 实现(思路二...原创 2019-12-05 17:09:11 · 91 阅读 · 0 评论 -
剑指offer--- 空格替换
题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 使用语言:C++(clang++3.9) 时间限制:< 1s 空间限制:< 32M 解题思路: 题目考查重点应该是字符串的存储和指针,用面向对象来实现确实没什么意思,直接将str转成string对象处理起来相当简...原创 2019-12-27 16:36:32 · 94 阅读 · 0 评论