在线编程题
qq_35510981
这个作者很懒,什么都没留下…
展开
-
替换char*中的空格字符
题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。class Solution {public: void replaceSpace(char *str,int length) { if(str==NULL||length<=0) return ;原创 2017-07-12 20:13:03 · 1771 阅读 · 0 评论 -
矩阵中的路径—递归
题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 a b c e s f c s a d e e 矩阵中包含一条字符串”bcced”的路径,但是矩阵中不包含”abcb”路径,因为字符串的第一个字符b占据原创 2017-07-27 19:49:51 · 461 阅读 · 0 评论 -
机器人的运动范围——递归
题目描述 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?class Solution {public原创 2017-07-27 16:18:19 · 460 阅读 · 0 评论 -
二叉树的下一个结点+对称二叉树
题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 分析:有三种情况:(1)该节点有右子树,那么下一个结点就是其右子树的最左节点;(2)该节点没有右子树,但是是其父节点的左节点,那么下一个结点就是其父节点;(3)该节点没有右子树,同时是其父节点的右节点,那么需要沿着父节点向上找,直到找到一个是其父节点原创 2017-07-19 09:05:26 · 227 阅读 · 0 评论 -
滑动窗口的最大值——双端队列
题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5转载 2017-07-30 21:00:55 · 541 阅读 · 0 评论 -
顺时针打印矩阵+栈的压入、弹出序列+树的层序遍历(非递归)+二叉树中和为某一值的路径+数组中只出现一次的数字
题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 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. 见:剑指offer第128页class Solution {public: vector<int> printMat原创 2017-07-17 20:20:08 · 308 阅读 · 0 评论 -
二维数组中的查找+旋转数组的最小数字+跳台阶迭代+求幂次+调整数组使奇数位于偶数之前
题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路:从二维数组的右上角的元素开始判断,因为此元素是它所在行的最大数,是它所在的列的最小数。 如果它等于要查找的数字,则查找过程结束。 如果它大于要查找的数字,则可以排除它所在的列。 如果它小于要查找的数字,则可原创 2017-07-16 19:26:15 · 265 阅读 · 0 评论 -
根据中序和先序重建二叉树+二叉树的镜像+二叉树的深度+判断后序序列+判断子树
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路:递归。首先先序的第一个元素一定是根节点,然后在中序中以根节点为分界,左边的为左子树的所有节点,右边的为右子树的所有节点,相应地也将先序划分为左原创 2017-07-13 08:24:47 · 294 阅读 · 0 评论 -
华为机试题 计算字符个数
题目描述 写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。输入描述: 输入一个有字母和数字以及空格组成的字符串,和一个字符。输出描述: 输出输入字符串中含有该字符的个数。 示例1 输入ABCDEF A 输出1//解法1#include<iostream>#include<string>using namesp原创 2017-07-06 12:58:49 · 263 阅读 · 0 评论 -
华为机试题-字符串最后一个单词的长度
题目描述 计算字符串最后一个单词的长度,单词以空格隔开。 输入描述: 一行字符串,非空,长度小于5000。输出描述: 整数N,最后一个单词的长度。 示例1 输入hello world 输出5//解法1#include<iostream>#include<string>using namespace std;int main(){ string str; getlin原创 2017-07-06 12:41:04 · 235 阅读 · 0 评论 -
翻转链表
题目描述 输入一个链表,从尾到头打印链表每个节点的值。/*** struct ListNode {* int val;* struct ListNode *next;* ListNode(int x) :* val(x), next(NULL) {* }* };*/class Solution原创 2017-07-12 20:25:05 · 181 阅读 · 0 评论 -
字符串转换成整数+不用加减乘除做加法
题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果是合法的数值表达则返回该数字,否则返回0 示例1 输入 +2147483647 1a33 输出 2147483647 0class Solution {public:原创 2017-07-27 20:38:55 · 487 阅读 · 0 评论