![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
YohannaYin
这个作者很懒,什么都没留下…
展开
-
旋转数组的最小数字
题目把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。看完题目,觉得,emm?这不就是遍历一下,找个最小值就行了,于是怒敲一波,AC了?class Solution {...原创 2019-07-07 15:47:32 · 149 阅读 · 0 评论 -
占个坑
占个坑,以后再来补题解class Solution {public: int lengthOfLongestSubstring(string s) { //维护一个256个字符的数组 int a[256] = {0}; int res = 0; int left = 0; for(int i=0;i<...原创 2019-07-07 20:31:45 · 184 阅读 · 0 评论 -
字符串的排列
给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。换句话说,第一个字符串的排列之一是第二个字符串的子串。示例1:输入: s1 = “ab” s2 = “eidbaooo”输出: True解释: s2 包含 s1 的排列之一 (“ba”).示例2:输入: s1= “ab” s2 = “eidboaoo”输出: False注意:输入的字符串只包含小写字...原创 2019-07-07 21:14:06 · 123 阅读 · 0 评论 -
二维数组的查找
二维数组的查找········································································································································································直觉想法:暴力找,从最左开始,直到找到tar...原创 2019-06-29 16:58:47 · 150 阅读 · 0 评论 -
剑指offer-替换空格
题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。想法一:开辟新指针,空间消耗;class Solution {public: void replaceSpace(char *str,int length) { int j=0; int c...原创 2019-06-29 21:18:31 · 87 阅读 · 0 评论 -
剑指offer,从尾到头打印链表(买一赠一:单链表的反转)
题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。想法:直接用单链表反转,然后遍历,结果报错:什么递归太多啥的,估计是因为我这样子跑的时间太长了,毕竟单链表的反转自认没写错。/*** struct ListNode {* int val;* struct ListNode *next;* ListNode(int ...原创 2019-06-29 22:45:51 · 108 阅读 · 0 评论 -
重建二叉树
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。这是一道递归题:前序遍历的特点:根左右中序遍历的特点:左根右所以每次遍历到的前序的第一个数必定是根,然后在中序中找到根的位置,中序以根为切割点,左...原创 2019-06-30 17:53:21 · 80 阅读 · 0 评论 -
用两个栈实现队列
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。分析:栈的特点:先进先出队列的特点:先进后出class Solution{public: void push(int node) { stack1.push(node); } int pop() { if(stack2.empty...原创 2019-06-30 18:43:11 · 102 阅读 · 0 评论