
刷题
懒嘤嘤ly
嘴角扬起 用力呼吸
展开
-
【剑指Offer04】替换空格
【题目描述】请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。【思路讲解】【实现代码】class Solution {public: void replaceSpace(char *str,int length) { if(str==NULL) ...原创 2018-08-23 21:39:01 · 261 阅读 · 0 评论 -
【剑指Offer03】二维数组中的查找
【题目描述】在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。【方法一代码】class Solution {public: bool Find(int target, vector<vector<int> >...原创 2018-08-23 20:50:02 · 279 阅读 · 0 评论 -
【剑指Offer02】C++实现单例模式
题目:设计一个类,我们只能生成该类的一个实例什么是单例模式?单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例单例模式的静态解析图 单例模式可以分为懒汉式和饿汉式:饿汉式单例模式:在类加载时就完成了初始化,所以类加载比较慢、获取对象的速度快、以空间换取时间模...原创 2018-08-07 11:30:44 · 5779 阅读 · 6 评论 -
【剑指Offer01】赋值运算符重载
题目:如下为类型为CMyString的声明,请为该类型添加赋值运算符函数class CMyString{public: CMyString(char* pData = NULL); CMyString(const CMyString& str); ~CMyString(void);private: char* m_pData;};【考察点】1、是否把返回值的类...原创 2018-08-07 10:47:21 · 259 阅读 · 0 评论 -
【每日一题】层序遍历(自顶向下AND自底向上)
前面的文章中我有实现过二叉树的简单函数实现,在这就不详细介绍了,不了解的请戳https://blog.youkuaiyun.com/dove1202ly/article/details/79133089今天主要讲【层序遍历】---->面试常考点,必须会哦^ _ ^【题目】给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二...原创 2018-07-31 10:04:42 · 875 阅读 · 1 评论 -
【leetcode】合并区间
给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。...原创 2018-07-16 19:08:52 · 1075 阅读 · 0 评论 -
【leetcode】17. 电话号码的字母组合
【题目描述】给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].【实现代码】string原创 2018-07-08 14:58:16 · 329 阅读 · 0 评论 -
【C语言复习】实现一个函数,可以左旋字符串中的k个字符
【每日一题】实现一个函数,可以左旋字符串中的k个字符。 AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA 【代码实现】法一:逐个搬移元素法void Rotate1(char *arr,int k)//将要旋转的元素一个一个的旋转过去{ assert(arr); int sz = str...原创 2018-05-05 22:24:20 · 263 阅读 · 1 评论 -
【C语言】实现一个函数,可以左旋字符串中的k个字符。
【每日一题】实现一个函数,可以左旋字符串中的k个字符。 AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA【思路】利用循环【代码实现】void leftmove(char* arr, int sz, int n){ assert(arr); for (int i = 0; i < n...原创 2018-04-13 21:54:45 · 200 阅读 · 0 评论 -
【C语言】编写一个函数实现n^k,使用递归实现
【每日一题】编写一个函数实现n^k,使用递归实现(代码很简单,就不分析了)int funC(int n, int k){ if (k <= 0) return 0; else if (n == 1) return 1; else if (k == 1) { return n; } else { return n * funC(n, k - 1); }}i...原创 2018-04-12 21:59:00 · 733 阅读 · 0 评论 -
【C语言】一组数据中只有一个数字出现了一次
【每日一题】一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。请找出这个数字。(使用位运算)【思路】利用异或运算(相同为0,相异为1),就跟冒泡思想一样,从第一个数字开始,让其跟之后的每个字符相比,利用异或运算思想,再设一个标记,将相同的标记起来,然后第二个数字跟他之后的数字作比较.......,一直到最后一个比较完毕为止,(此处需要循环实现)然后将标记出来的那个单独的数字输出就OK了...原创 2018-04-12 21:57:23 · 570 阅读 · 0 评论 -
【C语言】写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和
【每日一题】写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19;【思路】首先我们先考虑特殊情况(1)当n小于0时(负数)------>返回0(2)当n大于等于0且小于9时(个位数)------>直接返回(3)当大于九时(多位数)------->利用递归思想,先思考如何获得个位...原创 2018-04-12 21:45:47 · 1049 阅读 · 0 评论