![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔试
文章平均质量分 68
apsara-jueying
阿里云菜鸟攻城狮
展开
-
剑指offer面试题5(链表反序输出 用递归或者栈)
瞬间就写完了。就是注意指针就行了 #include #include using namespace std; struct Node { int data; Node * next; Node(int i) { data=i; next=NULL; } }; void reverseinput(Node * p)原创 2013-04-25 16:09:37 · 660 阅读 · 0 评论 -
剑指offer面试题7 两个栈实现队列和template的应用
这就很简单了 这里还提到用两个队列实现栈 以前看过那本书说不能 其实完全可以啊 插入队列 就找有元素的队列插入 删除 就把队列除了最后一个都移动到另一个队列 然后pop最后一个。 这个两个栈实现一个队列么 挺简单的 早就看过了 但是很久没敲过 模板类的东西了 就是template #include #include #include using namespace std;原创 2013-04-25 21:05:17 · 681 阅读 · 0 评论 -
剑指offer 面试题6 (根据前序和中序 构建二叉树)
这题 浪费了不少时间。。不知道自己现在怎么了。。遇到文件 就总要逃避一下。。唉。。 总的来说非常经典的题了。。就是构建函数 那 尤其是都用指针 太经典了 /* 给出 两个数组 前序和中序 要建立二叉树 返回root节点。。 本来不难的题结果自己看了半天。。唉。。好久不写二叉树了。 */ #include #include #include #include using namespace原创 2013-04-25 20:38:18 · 643 阅读 · 0 评论 -
剑指offer 面试题9 递归 非波那且数列
/* 这实在没什么好敲的。这里主要讲的几个问题 第一个 面试时如果没有特殊要求 就递归 第二 非波那且 循环不用开数组 只要记录前两个就行了。 其实也不是完全没价值 如果让我 我就开数组了。开尼馬数组干蛋啊 只球fn 还有这里有个题目 挺有意思。。。都是和非波那且有关系的 1 青蛙每次可以跳一个台阶 或者两个 问到第n台阶多少种方法 这个早就知道 就是非波那且的fn 2 如果青蛙每次可以跳任意原创 2013-04-27 19:26:00 · 657 阅读 · 0 评论 -
剑指offer 面试题8 旋转数组的最小数字 (旋转数组就是把有序数组后面一部分挪到前面)
/* 题意是 给出旋转数组 就是把一个有序的数组 后面取出n个元素 放到前面。 现在要找出最小的元素 o(n) 太简单了 肯定不行。 想法还是二分数组 我们每次找到一个mid 如果这里的数比前面的大 说明最小的肯定在后部分 如果比后面的小 说明 肯定在前半部分 还有注意两种特殊情况 就是 数组本来有序 还有一种 就比如1 1 1 0 1这样的。start 和 end 还有mid 指向的都相等的情原创 2013-04-27 19:24:17 · 602 阅读 · 0 评论 -
剑指offer面试题10 二进制中1的个数(位运算专题)
#include #include using namespace std; // !!!!!!!!!!!!非常重要!!把一个整数和这个整数减去1后的结果做与运算 得到的是把这个整数最右边的1变成0后的结果 //如果输入负数 输出补码表示的 有多少个1 //如果n是负数 n&(n-1) 同样是把n最右边的1变成0 //这里 是求一个整数的二进制补码表示中 1的个数 int NumberOf1(in原创 2013-04-27 19:26:37 · 562 阅读 · 0 评论 -
剑指offer面试题11 编写pow函数(输入底数 指数 正 0 负的情况 和高效乘方)
#include #include #include using namespace std; /* 这一章开始进入代码规范性了 主要是容错 边界处理 变量和函数的命名 以后一定要记得 变量和函数名 命名看出意义 直接用全部英文单词命名,单词首字母大写 出错时的三种处理方式 第一 返回值 windows 很多API 都这么干 返回0 正常 但是这样有缺点就是不能通过返回值表示得到的结果 第二 全局原创 2013-04-27 19:33:49 · 750 阅读 · 0 评论 -
剑指offer面试题12 打印从1到最大n位的所有数(大数,递归)
/* 初看觉得很水 不过就是个大数么 但是突然发现很有收获 就是自己想 */ #include #include #include using namespace std; bool NumberAdd(char * num)//不是最后一个数返回0 继续加 否则返回1 表示到了头 { bool isOverflow= false;//判断是不是到了最后一个数字 只要看最高位是不是有原创 2013-04-30 16:17:59 · 593 阅读 · 0 评论 -
剑指offer面试题13在O(1)时间复杂度内删除单链表的一个节点
今天遇上奇怪的事情了。。codebloks运行不了 说sh: .....upexpected ( 我找了半天bug 最后发现竟然连helloword程序都执行不了 后来我觉得 会不会是 project命名的里 O(1) 然后试着把括号去掉。。居然就行了 后来又建工程加上括号 又是那个错。。 太尼馬诡异了。。。 还有就是 linux里面 EOF 是ctrl+d 不是C 记得windows里是原创 2013-04-30 17:13:55 · 717 阅读 · 0 评论