题目
Veaxen
这个作者很懒,什么都没留下…
展开
-
【C/C++】数组和指针的区别
前言C/C++程序中,指针和数组在很多地方都会用到,而且通常是可以相互换着使用的,那我们这种时候就更需要了解两者之间的区别了。数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。数组名对应着一块内存,其地址与容量在其生命期内是不可变的,只有数组的内容可以改变。指针可以随时指向其他变任意类型的内存块,也就是“可变的”,指针远比数组要灵活和高效,指针访问数组元素比采用数组形式访问元原创 2016-09-09 20:27:36 · 1125 阅读 · 0 评论 -
腾讯笔试:满二叉排序树问题
题目描述:于一棵满二叉排序树深度为k,节点数为2^k-1;节点值为1至(2^k - 1),给出k和任意三个节点的值,输出包含该三个节点的最小子树的根节点。样例输入:4 10 15 13样例输出:12首先,我们来理解一下满二叉排序树,如下就是一个4层的满二叉排序树: * 8 * / \ * 4 12 * / \ /原创 2017-05-13 13:09:58 · 2613 阅读 · 0 评论 -
腾讯笔试题:输入16的倍数个字符串,按格式排版输出
题目描述:从屏幕上接收16的倍数个字符串,回车后按照如下格式输出:上图有箭头的地方就是要求有两个空,其它间隔一个空格,以16进制输出/* 测试字符串 * abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl **/#include <iostream>#include <string>#include <iom原创 2017-04-14 01:25:57 · 828 阅读 · 0 评论 -
将十进制数转换成二十进制数
代码如下:/* 实现将输入的十进制整数转换成二十进制 * 并输出二十进制的结果 * 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J * */#include <iostream>#include <stdlib.h> //提供atoi()void print20Data(int data);int main(int argc,char *argv[]){原创 2017-03-07 22:59:44 · 2262 阅读 · 0 评论 -
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
思路:用stack1来实现队列的push操作,用stack2来实现队列的pop操作,当stack2为空时,将stack1的数据全部压入stack2,等待队列的pop操作。class Solution{public: void push(int node) { stack1.push(node); } int pop() { int resul原创 2017-03-10 14:12:06 · 5907 阅读 · 0 评论 -
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solutio原创 2017-03-10 13:43:12 · 1448 阅读 · 0 评论 -
两种方法实现:输入一个链表,从尾到头打印链表每个节点的值
转载自:http://blog.csdn.net/Echo_lin/article/details/47735695在《剑指offer》书中第五题:从尾到头打印链表每个节点的数值。其中提到的方法是通过借助容器vector和配接器stack共同完成;然而,碰巧的是前几日在刷LeetCode的时候,无意中发现一处用到了STL中的翻转函数reverse(),它接受两个BidirectionalIterat转载 2017-03-09 22:27:55 · 1193 阅读 · 0 评论 -
题目:请实现一个函数,将一个字符串中的空格替换成“%20”
/*题目描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。*//*分析将长度为1的空格替换为长度为3的“%20”,字符差的产度变长。如果允许我们开辟一个新的数组来存放替换空格后的字符串,那么这道题目就非常简 单。设置两个指针分别指向新旧字符串首元素,遍历原字符串,如果碰到空转载 2017-03-09 21:55:59 · 877 阅读 · 0 评论 -
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
/*题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。*//*Time:2016-9-8 15:44:52Author:CodingMengmeng*/#include <iostream>#include <vector>using namespace s转载 2017-03-09 20:59:19 · 3525 阅读 · 1 评论 -
汉诺塔问题
汉诺塔问题是一个经典的问题。汉诺塔(Hanoi Tower),又称河内塔,源于印度一个古老传说。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,任何时候,在小圆盘上都不能放大圆盘,且在三根柱子之间一次只能移动一个圆盘。问应该如何操作?分析如果是初次接触类似的问题,乍看之下肯定会感觉原创 2017-05-13 13:11:53 · 846 阅读 · 0 评论