自定义博客皮肤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)
  • 收藏
  • 关注

原创 【数据结构】二叉树的重构

问题描述:已知二叉树的先序和中序序列,然后还原该二叉树。(1)首先通过先序遍历找到首元素即为根节点。(2) 再通过中序遍历找到根节点的左边序列,即为左子树,根节点的右边即为右子树。(3)再对二叉树的左子树和右子树进行递归,递归到叶子结点,递归结束。struct TreeNode* reConstructBinaryTree(vector<int> pre,vector<int&g...

2018-04-07 21:25:42 483

原创 【剑指offer】打印链表倒数第k个元素

针对该问题提供4种思路:思路1:采用快慢指针,初始都指向头结点,让指针p先走k个结点,然后p和q一起走,p->next为NULL返回q。思路2:利用栈结构,让链表先入栈,然后顺序找到第k个结点。思路3:对链表进行头插法逆置,然后顺序遍历找到第k个结点。思路4:通过定位法,首先遍历数组,找到结点的数量n,然后得到倒数第k个结点的位置为n-k+1.思路1的代码实现 ListNode* Fi...

2018-04-07 19:52:40 182

原创 【C++迭代器】迭代器失效问题

问题描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。这是剑指offer上的一道经典习题,我们首先可以想到的解决方案是:再创建一个临时数组把偶数先存放起来,然后把临时空间的数据插入到原数组。代码如下:void reOrderArray(vector<int> ...

2018-04-07 14:35:16 283

原创 【函数传参】值、指针和引用的区别

函数传参:(1)传指针和传值的时候,不可以改变指针的指向,但是可以修改指针所指向的数据。传引用时可以修改所引用的值。(2)传值的时候可以引用值,不可以修改值。(3)传值和指针时都会生成临时量,传引用不会生成临时量。(4)传指针引用时,既可以修改指针指向,也可以修改指针所指向的值。啥话也不说直接上代码:int &r_val=val; int *p_ptr=ptr; void* tmp; tm...

2018-04-06 21:53:27 507

原创 【剑指offer】数组中找两个不重复数字

问题描述:数组中除了两个数之外,其他数都出现两次,找出数组中两个只出现一次的数字。解题思路:首先可以思考这样的情况,两个相同的数字进行异或,异或的结果等于0。所以我们可以以此作为解题的突破口。如果只有一个数字的话,那么我们让所有的数字分别进行异或,最终得到的结果就是这个只出现一次的数,然后定义一个指针带出数据即可。   可是问题是有两个数据,我们通过异或每一次只能筛选一个数字,是不是可以通过怎样的...

2018-04-06 16:50:50 1624

原创 【数据结构】单链表的原地逆置

class Solution {public:       ListNode* ReverseList(ListNode* head) {        if(head==NULL)        {            return NULL;        }         ListNode *p,*q;         p=head->next;         head->...

2018-04-04 19:32:27 757

原创 Linux——fork面试题讨论

#include <stdio.h> #include <sys/types.h> #include <unistd.h> int main(void) { int i; for(i=0; i<2; i++){ fork(); printf("-"); } wait(NULL); wait(NULL...

2018-04-04 15:49:04 405

空空如也

空空如也

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

TA关注的人

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