已知先序遍历序列和中序遍历序列,求后序遍历序列

回顾一下二叉树的三种遍历 先序: 根->左->右 中序:左->根->右 后序:左->右->根 只要我们知道中序和...

2018-09-07 12:49:27

阅读数 415

评论数 1

剑指offer面试题:求二叉树的镜像

题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像 二叉树的结点定义如下: struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) :val(x) ...

2018-09-04 10:08:30

阅读数 66

评论数 0

二叉树的简单实现

二叉树是常见的数据结构掌握它还是很有必要滴 #pragma once template<class T> struct BinaryTreeNode { T _data; BinaryTreeNode&lt...

2018-08-27 10:23:39

阅读数 58

评论数 0

队列和栈的相关面试题

1.实现一个栈,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1) //思路:这里我们需要两个栈s1 s2 一个正常存入数据一个只存入小的数据 //就比如说 第一个数据先入两个栈 然后插入第二个数据时 先和s2的栈顶数据 //比较 如果小的话就分别插...

2018-08-26 10:25:02

阅读数 118

评论数 0

链表面试题(二)

1.判断单链表是否带环? //判断是否带环 我们可以用快慢指针思想 我们来两个指针一个 一个每次走一步 //一个每次走两步 如果不带环那么它两走到最后是不会碰面的 反之 如果带环 //那么它们迟早会碰面 ListNode* HaveLoop(ListNode* phead) { ...

2018-08-23 15:16:39

阅读数 60

评论数 0

链表面试题

1.比较顺序表和链表的优缺点,说说它们分别在什么场景下使用? 链表是一种动态的数据结构,因为在创建链表时,我们不需要知道链表的长度,当插入一个结点时,只需要为该结点分配内存,然后调整指针的指向来确保新结点被连接到链表中。所以,它不像顺序表,内存是一次性分配完毕的,而是每添加一个结点分配一...

2018-08-21 22:42:15

阅读数 24

评论数 0

二叉树的先序、中序、后序、层序遍历

Binary Tree Preorder Traversal 二叉树的先序遍历 //先序遍历 先根 后左 其次是右 /** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *...

2018-08-20 14:11:53

阅读数 80

评论数 0

字符串中找出连续最长的数字串

#include<iostream> #include<string> using namespace std; int main() { string str; str.resize(...

2018-08-15 21:49:58

阅读数 36

评论数 0

C++的异常处理机制

写出一个bug的程序,是每个程序猿的美好期望,但是现实总是很残酷,我曾听到过一句话—–大多数程序猿往往花三分之一的时间写程序,剩下的三分之二用于修bug,那么怎样我们在程序发生错误的时候如何快速定位到错误代码区,从而解决错误这就要用的异常处理机制了。 异常处理 当一个函数发现自己无法...

2018-08-14 12:25:03

阅读数 47

评论数 0

网络基础---OSI七层模型与TCP/IP四层模型

OSI模型,即开放式通信系统互联参考模型(Open System Interconnection,OSI/RM,Open Systems Interconnection Reference Model),是国际标准化组织(ISO)提出的一个试图使各种计算机在世界范围内互连为网络的标准框架,简称OS...

2018-08-13 22:08:53

阅读数 32

评论数 0

模拟实现itoa

itoa将任意类型的数字转换为字符串。在< stdlib.h >中与之有相反功能的函数是atoi。 函数原型: char*itoa(int value,char*string,int radix); nt value 被转换的整数...

2018-08-12 11:57:22

阅读数 194

评论数 0

网络基础---TCP协调中的三次握手四次挥手

TCP全称为 “传输控制协议(Transmission Control Protocol”). 人如其名, 要对数据的传输进行一个详细的控制 TCP,面向有连接的通讯协议,在传送数据之前必须先建立连接,数据传送完成后要释放连接,正因如此才成就了它的可靠性,今天我们就来剖析它通讯的具体过...

2018-08-10 18:52:55

阅读数 43

评论数 0

C++(浅析)智能指针

c++中我们常常使用运算符new和delete来分配和释放动态内存,然而动态内存的管理非常容易出错 使用new 和delete 管理内存存在三个常见问题: 1.忘记delete(释放) 内存。(或者异常导致程序过早退出,没有执行 delete)忘记释放动态内存会导致人们常说的...

2018-08-06 19:17:41

阅读数 90

评论数 0

模拟实现atoi

//atoi函数的简单实现 //函数用途:将字符串转为整形 //函数原型 int atoi(const char* str) //遇到非数字或字符串结束符('\0')才结束转换,并将结果返回。 #include<iostream> using name...

2018-08-04 11:30:51

阅读数 56

评论数 0

C++ 模板

模板是泛型编程的基础,泛型编程就是编写 一些与类型无关的逻辑代码,达到代码通用复用的目的。 举个例子:我们要实现一个加法函数,但是函数的参数不确定 有可能是int 也有可能是double 还有可能是char 等等 有的人可能会想用函数重载来实现 但你想想你要把所有可能出现的类型都写一遍...

2018-08-04 09:51:10

阅读数 32

评论数 0

c++多态基础知识点

多态基础知识点 什么是多态 答:多态是面向对象的重要特性之一,它是一种行为的封装,是同一种事物所表现出的多种形态,简单地说是”一个接口多种实现“ 多态的作用 答:多态技术允许将父类设置成和他的一个或更多的子对象相等。 ...

2018-08-02 10:08:04

阅读数 62

评论数 0

(浅谈)c++强制类型转换

c++语言强制类型转化类型分为四种:static_cast const_cast reinterpret_cast dynamic_cast static_cast (静态转化)用于数据类型的强制转换,强制将一种数据类型转换为另一种数据类型。(int 和 char short dou...

2018-07-28 17:49:34

阅读数 63

评论数 0

c++string 类的简单实现(增删查改功能)

能够准确无误地编写出String类的构造函数、拷贝构造函数、赋值函数和析构函 数的面试者至少已经具备了C++基本功的60%以上!在这个类中包括了指针类成员变量m_data,当类中包括指针类成员变量时,一定要重载其拷贝构造函数、赋值函数和析构函数,这既是对C++程序员的基本要求,也是《E...

2018-07-28 10:20:09

阅读数 72

评论数 0

C++日期类的简单实现

日期类主要功能 给定任意日期可以对该日期进行加或减上响相应的天数后得到新的日期 或者给定你两个日期算出两个日期之间相差的天数 代码实现: #include<assert.h> #include&lt...

2018-06-06 17:09:58

阅读数 140

评论数 0

数据结构--常用排序算法

排序算法的稳定性的定义 例如一组未被排序的数中{B,A1,D,C,A2}存在一对或多对相同的数 据A1,A2排序前A1的位置在A2前面,如果使用排序算法后A1,A2的相 对位置保持不变{A1,A2,B,C,D},那么我们称这个算法是稳定的。 ...

2018-06-01 15:52:08

阅读数 250

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭