自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小强的博客

为了offer

  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

原创 按之字形顺序打印二叉树

请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。思路:采用树的广度优先搜索策略 借助两个栈:一个用来实现从左到右输出,一个用来实现从右到左输出,利用栈的先入后出顺序,不同的层时左右子树入栈的顺序不同,应该与其应出栈顺序相反/*struct TreeNode { int val;...

2018-05-29 23:05:33 156

原创 翻转单词顺序列

牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?思路:先反转整个字符串,然后根据...

2018-05-29 22:09:04 170

原创 链表——剑指offer

从尾到头打印链表 思路:先把链表翻转,然后将翻转后的链表打印出来 这种方法:因为多分配链表节点指针,故可能会对内存的消耗要大一点 时间复杂度为O(n)vector<int> printListFromTailToHead(listnode *head){vector<int>a;listnode *p=NULL;listnode *p1=NULL;...

2018-05-23 20:23:28 212

原创 图的深度优先遍历和广度优先遍历

BFS思路广度优先遍历中从一个节点出发,例如1,先找到其邻接至的节点,如2,3,4然后依次把2,3,4放入队列,再从队列中依次取出每一个节点,找到其邻接至的节点插入到队列尾部最终当队列中元素为空时就找到了1可以到达的所有路径代码:virtual void bfs(int v,int reach[],int label)//所有图的表示方法都可以直接用的广度优先搜索方法...

2018-05-22 23:13:09 340

原创 对称的二叉树

请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。思路:对称的二叉树中左子树的左孩子等于右子树的右孩子,左子树的右孩子等于右子树的左孩子 而且当左右子树中有一个为空时就不会是对称/*struct TreeNode { int val; struct TreeNode *left; struct Tree...

2018-05-21 23:30:49 142

原创 Fibonacci数列

题目描述Fibonacci数列是这样定义的: F[0] = 0 F[1] = 1 for each i ≥ 2: F[i] = F[i-1] + F[i-2] 因此,Fibonacci数列就形如:0, 1, 1, 2, 3, 5, 8, 13, …,在Fibonacci数列中的数我们称为Fibonacci数。给你一个N,你想让其变为一个Fibonacci数,每一步你可以把当前数字X变为...

2018-05-19 22:23:31 257

原创 把字符串转换成整数

将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0class Solution {public: int StrToInt(string str) { int flag = 1; //设置符号标志 long long ret = 0; //考虑到返回值可能较大,定义为long lon...

2018-05-12 23:12:54 169

原创 表示数值的字符串

请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串”+100”,”5e2”,”-123”,”3.1416”和”-1E-16”都表示数值。 但是”12e”,”1a3.14”,”1.2.3”,”+-5”和”12e+4.3”都不是。class Solution {public: void ScanString(char * &number)//此处传入的...

2018-05-12 22:51:43 150

原创 左旋字符串

汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!分析:对于字符串左旋,实质为字符串旋转。对形如XY的字符串经过旋转后变为YX.此问题中,字符串左旋:n为旋...

2018-05-12 18:58:37 189

转载 Linux内存分配与释放:一

Linux的虚拟内存管理有几个关键概念:Linux 虚拟地址空间如何分布?malloc和free是如何分配和释放内存?如何查看堆内内存的碎片情况?既然堆内内存brk和sbrk不能直接释放,为什么不全部使用 mmap 来分配,munmap直接释放呢 ?Linux 的虚拟内存管理有几个关键概念: 1、每个进程都有独立的虚拟地址空间,进程访问的虚拟地址并不是真正的物理地址; 2、虚拟地址...

2018-05-10 18:00:17 9783 2

原创 二叉搜索树与双向链表

输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。思路:中序遍历整棵树。那么比较小的结点先访问。如果我们每访问一个结点,假设之前访问过的结点已经调整成一个排序双向链表,我们再把调整当前结点的指针将其链接到链表的末尾。当所有结点都访问过之后,整棵树也就转换成一个排序双向链表了/*struct TreeNode { in...

2018-05-10 00:23:45 122

原创 利用递归返回数组中的最大值

int theMax(int a[],int n){int t;if(n>1){t=f(a,n-1);return t>a[n-1]?t:a[n-1];}elsereturn a[0];}

2018-05-05 22:22:25 849

原创 删除链表中重复的结点

在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : ...

2018-05-05 22:18:54 109

原创 和为S的连续正数序列

小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!class Solution {public:...

2018-05-05 22:17:24 132

原创 和为S的两个数字

输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。class Solution {public: vector<int> FindNumbersWithSum(vector<int> array,int sum) { //思路:首先查找数组中所有和为s的组合,然后计算...

2018-05-05 22:11:30 121

原创 构建乘积数组

题目描述 给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]…A[i-1]*A[i+1]…*A[n-1]。不能使用除法。方法一:时间复杂度为O(n2)class Solution {public: vector<int> multiply(const vector<int>&...

2018-05-05 22:10:13 124

原创 网易: 被3整除

小Q得到一个神奇的数列: 1, 12, 123,…12345678910,1234567891011…。并且小Q对于能否被3整除这个性质很感兴趣。小Q现在希望你能帮他计算一下从数列的第l个到第r个(包含端点)有多少个数可以被3整除。 ## 输入描述: 输入包括两个整数l和r(1 <= l <= r <= 1e9), 表示要求解的区间两端。输出描述: 输出一个整数...

2018-05-04 23:01:28 506

原创 网易:安置路灯

小Q正在给一条长度为n的道路设计路灯安置方案。为了让问题更简单,小Q把道路视为n个方格,需要照亮的地方用’.’表示, 不需要照亮的障碍物格子用’X’表示。小Q现在要在道路上设置一些路灯, 对于安置在pos位置的路灯, 这盏路灯可以照亮pos - 1, pos, pos + 1这三个位置。小Q希望能安置尽量少的路灯照亮所有’.’区域, 希望你能帮他计算一下最少需要多少盏路灯。 ## 输...

2018-05-04 23:00:25 172

原创 网易:迷路的牛牛

牛牛去犇犇老师家补课,出门的时候面向北方,但是现在他迷路了。虽然他手里有一张地图,但是他需要知道自己面向哪个方向,请你帮帮他输入描述: 每个输入包含一个测试用例。 每个测试用例的第一行包含一个正整数,表示转方向的次数N(N<=1000)。 接下来的一行包含一个长度为N的字符串,由L和R组成,L表示向左转,R表示向右转。输出描述: 输出牛牛最后面向的方向,N表示北,S表示南,E...

2018-05-04 22:58:04 196

空空如也

空空如也

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

TA关注的人

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