自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 剑指offer 顺时针打印矩阵/蛇形矩阵

牛客网题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.示例1输入复制[[1,2],[3,4]]返回值复制[1,2,4,3]思路:用一个mid来记录一下要绕多少圈,然后枚举一下现在是绕到第几圈了,然后按顺时针横着填数,再竖着填数,再横着填数,最后再竖着填数。仔细

2021-03-31 17:29:55 206

原创 剑指offer 用两个栈实现队列

牛客网题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路: push的话就直接push到一个栈里,复杂度为O(1),pop的话就把栈里的元素丢进另外一个栈里,然后把栈底的元素pop出来,再把其他元素再重新丢回去,pop一次的复杂度为O(n)。代码:class Solution{public: void push(int node) { //if(stack2) stack1.push(node); }

2021-03-30 22:12:05 68

原创 剑指offer 重建二叉树 二叉树的前序遍历中序遍历后序遍历 递归

牛客网题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。示例1输入复制[1,2,3,4,5,6,7],[3,2,4,1,6,5,7]返回值复制{1,2,5,3,4,6,7}思路: 前序遍历的第一个点一定是根节点,根节点的左子树的节点一定是中序遍历中根节点左边的部分,右子树就是根节点右边的部分,然后

2021-03-30 22:07:35 76

原创 剑指offer 从尾到头打印链表 链表

牛客网题目描述输入一个链表,按链表从尾到头的顺序返回一个ArrayList。示例1输入复制{67,0,24,58}返回值复制[58,24,0,67]思路: 开了两个vector,一个vector存正序的另一个vector存逆序的,很好写。就是空间消耗有点大代码:class Solution {public: vector<int> printListFromTailToHead(ListNode* head) { ListNode* cur =

2021-03-30 21:48:59 69

原创 剑指offer 替换空格 字符串处理 string

牛客网题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。示例1输入复制“We Are Happy”返回值复制“We%20Are%20Happy”思路:申请一个空字符串ss,然后对输入的字符串s进行扫描,当遇到空格时ss += “%20”,否则就ss += s[i]。(这里有个坑是"%20"必须得是双引号,用单引号就会WA=_=)class Solution {publi

2021-03-30 21:37:23 102

原创 剑指offer 二维数组中的查找

牛客网题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]给定 target = 7,返回 true。给定 target = 3,返回 false。示例1输入复制7,[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,

2021-03-30 21:28:28 102

原创 剑指offer 3数组中重复的数字 桶

牛客网题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中第一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。返回描述:如果数组中有重复的数字,函数返回true,否则返回false。如果数组中有重复的数字,把重复的数字放到参数duplication[0]中。(ps:duplication已经初始化,可以直接赋值使用。)思路:用一

2021-03-15 22:18:36 88

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除