![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
MaxineZhou
Don't forget try again
展开
-
剑指offer面试题17:合并两个有序链表——递归——链表的有条件移动
一、题目分析 这是一个递归的过程,每次都是链表剩余部分的第一个结点相比较,小的那个就放到新链表中; 思考:如果题目改成把可以将3整除的结点放到前边呢?只需要把判断条件写成一个功能函数就可以了 二、代码分析 注意如果不对输入的空链表参数加以判断,会造成程序奔溃 /* struct ListNode { int val; struct ListNode *next; ListNo...原创 2020-03-05 22:52:34 · 124 阅读 · 0 评论 -
剑指offer面试题5:从尾到头输出链表
题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 分析: 链表本身只记录了下一个节点的位置,不能反过来,所以要把链表的记录导入到一个可以先进后出的容器里,就是栈,题目要求返回一个动态数组vector /** * struct ListNode { * int val; * struct ListNode *next; * ...原创 2019-04-12 10:47:22 · 194 阅读 · 0 评论 -
剑指offer面试题6:重建二叉树,先序遍历、中序遍历原理
下面左图的二叉树的 前序遍历(头左右)是:1、 2、4、7 | 3、5、6、8 中序遍历(左头右)是:4、7、2、1 | 5、3、8、6 根据前序遍历和中序遍历还原二叉树的思路: 1.找到根节点在中序遍历数组中的下标 2.根据根节点下标划分左右子树,循环递归 例如左子树的建成: (1)前序遍历的第一个数1是根节点(头左右),在中序遍历的下标是4,那么前三个4、7、2都是左...原创 2019-04-17 21:07:22 · 302 阅读 · 0 评论 -
剑指offer面试题3:在二维数组存储方式、初始化,二位数组应用:二位数组的查找
1.二位数组存储方式: 第一,数组元素在内存中是顺序、连续存储的。 第二,matrix是一个二维数组,二维数组在内存中是按行存放的,即先放第1行,再放第2行……每行中的元素是按列下标由小到大的次序存放,这样的存储方式也称为行优先存储。 第三,这里定义的数组 int *matrix是一个指针数组,指针数组的每个元素都是指针变量。举个例子,如果一个4行4列的二维指针数组,那么他的第2行第3列(row...原创 2020-02-21 10:55:05 · 280 阅读 · 0 评论 -
剑指offer面试题14:使数组中奇数在偶数前边——数组的有条件移动
方法一:新建一个数组,遍历给出的数组,若是奇数则加入新数组,再遍历一边数组若是偶数则加入新数组 #include<bits/stdc++.h> class Solution { public: void reOrderArray(vector<int> &array) { vector<int> arr; in...原创 2020-03-05 21:07:46 · 120 阅读 · 0 评论 -
剑指offer面试题16:链表的反转并返回反转后的首结点
方法一:把节点放入栈中,由于栈是先进后出,所以出栈的顺序正好是反序的 /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ class Solution { public: ListNode* ReverseList(ListN...原创 2020-03-03 18:33:19 · 197 阅读 · 0 评论 -
剑指offer面试题13、15:O(1)时间删除链表结点、返回链表中倒数第k个结点、判断链表是否有循环
方法一:把链表结点放入数组中 /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ class Solution { public: ListNode* FindKthToTail(ListNode* pListHead, uns...原创 2020-03-03 14:11:09 · 146 阅读 · 0 评论 -
剑指offer面试题11:数值的整数次方——全面又高效的代码
1.题目分析 题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 保证base和exponent不同时为0—— 情况讨论: 1.base可能为0,此时是选择返回值、设置全局变量还是设置异常要根据面试官而定 2.exponent也可能小于0,此时需要取它的绝对值,并且对取绝对值求整数次方的结果取倒数 2.解决方法1....原创 2020-02-27 11:36:06 · 189 阅读 · 0 评论 -
万能头文件
#include<bits/stdc++.h>包含了C++的所有头文件,而且亲测比#include<iostream>要更快,更节省空间原创 2020-02-26 10:32:35 · 209 阅读 · 0 评论 -
IT人员面试问答
1.C++类的大小的理解 1.1 定义一个空的类型,里面没有任何成员变量和成员函数,用sizeof求该类的大小是多少? 答:1,本来没有任何成员变量或函数应该还是0的,但是在声明实例的时候需要占用一定的内存空间,否则无法使用实例,具体占用的空间多少是根据编译器决定的,Visual Studio是占用1字节的空间 1.2 这个空的类加上构造函数和析构函数之后用sizeof求大小是多...原创 2019-04-05 03:40:30 · 538 阅读 · 0 评论