面试题
文章平均质量分 67
L_XRUI
one day one day one day......
展开
-
面试题atoi的模拟实现
atoi函数:用来把一个字符串转换为整数,在模拟实现应注意以下几点:1.检查字符串是否为空字符串;2.区分空字符串与0字符返回值结果,这里用一个全局变量globle来区分;3.考虑字符串的合法输入,如‘+’'-'号(并能区分),‘1~9’字符为合法输入;4.考虑计算过程中的溢出。代码实现:#include #include #include using namespa原创 2016-12-30 12:12:17 · 779 阅读 · 0 评论 -
合并两有序链表
struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};class Solution {public: ListNode* Merge(ListNode* pHead1, ListNode* pHead2原创 2017-07-13 18:04:20 · 425 阅读 · 0 评论 -
剑指offer-删除链表重复节点
#include using namespace std;struct Node{ int data; Node* next; Node(int x) :data(x) ,next(NULL) {}};void PushBack(Node** pHead,int x){ if(*pHead==NULL) { *pHead=new Node(x); } e原创 2017-06-23 23:16:46 · 956 阅读 · 0 评论 -
打印100~200之间的素数
关于素数求解问题问题:打印100~200之间的素数素数概念:对于大于1的自然数,除了1和它自身,不能被其它自然数整除的数称为素数。看到这个问题,有很多种解法,最容易想到的就为:#include int main(){int num=0;int div=0;for(num=100;num{ for(div=2;div{if(num%div=原创 2016-06-13 00:16:49 · 664 阅读 · 0 评论 -
求一个数其二进制中一的个数
看到这个题目,首先想到的方法是:int count_one_bits(unsigned int value){ int count=0; while(value) { if(value%2==1) { count++; } value=value/2; } return count;}#include #include int main(){ in原创 2016-06-13 17:40:47 · 841 阅读 · 0 评论 -
剑指offer面试题:数组中只出现一次的数字
题目:一个整型数组里除了两个数字之外,其他的数字都出现两次。请找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度O(1)。看到这个问题,我们首先应该想到另一个问题,如果数组中只有一个数字出现一次,怎么找到它呢?由此引出异或运算:任何一个数字异或它自己都等于0.所以如果我们从头到尾依次异或数组中的每一个数字,那么最终的结果刚好是那个只出现一次的数字,其它成对出现的已经全部在原创 2016-06-14 22:40:24 · 893 阅读 · 0 评论 -
剑指offer面试题:替换空格(将字符串每个空格替换为%20)
题目:请实现一个函数,把字符串的每个空格替换成“%20”。例如:输入:“we are happy.”,则输出:“we%20are%20happy.”这里考虑的是在原来的字符串上做替换这一种情况:若我们用直接做法从头到尾扫描字符串,每碰到一个空格就做替换,其空格后面的字符都必须后移两个字节,如图:浅黄色背景代表需要移动的字符,紫色背景代表需要移动两次的字符,因此,若这样做,有O(n)原创 2016-06-15 21:41:33 · 2914 阅读 · 1 评论 -
剑指offer面试题:二维数组中的查找
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。分析:看到这个问题,我们首先应该从这个二维数组的右上角或左下角开始查找,一步一步缩小查找范围,例如,查找一个二维数组matrix[][]中的7: 1 2 8 9原创 2016-06-18 16:20:50 · 767 阅读 · 0 评论 -
单链表的面试题系列
在这里简单实现了单链表的基本操作,重点实现单链表的各种面试题。代码如下:头文件LinkList.h:#ifndef __LinkList_H__#define __LinkList_H__#include #include #include #include typedef int DataType;typedef struct Node{ DataType dat原创 2016-12-30 11:32:40 · 1024 阅读 · 0 评论 -
复杂链表复制
#include <iostream>using namespace std;//复杂链表的复制struct RandomListNode { int label; struct RandomListNode *next, *random; RandomListNode(int x) :label(x) ,next(NULL)原创 2017-07-13 18:14:20 · 442 阅读 · 0 评论