
剑指offer---算法面试题
在进军leetcode前的刷题巩固,同时为面试做准备
赶路的苟狗
因为相信,所以看见
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
面试题11---第一个只出现一次的字符
哈希表原创 2020-04-23 08:05:23 · 776 阅读 · 0 评论 -
面试题10---二叉树的镜像和对称二叉树详解
1.题目请完成一个函数,输入一棵二叉树,该函数输出它的镜像。二叉树结点的定义如下。struct BinaryTreeNode{ int m_nValue; BinaryTreeNode* m_pLeft; BinaryTreeNode* m_pRight;;};2.就题论题树的镜像对很多人来说是一个新的概念,我们未必能够一下子想出求树的镜像的方法。为了能够形成直观的印象,...原创 2020-04-18 09:27:04 · 1563 阅读 · 0 评论 -
面试题9---树的子结构详解
1.题目输入两棵二叉树A和B,判断B是不是A的子结构。二叉树结点的定义如下:struct BinaryTreeNode{ double m_dbValue; BinaryTreeNode* m_pLeft; BinaryTreeNode* m_pRight;};如图中的两棵二叉树,由于A中有一部分子树的结构和B是一样的,因此B是A的子结构。 2.就题论题...原创 2020-04-17 20:38:35 · 784 阅读 · 0 评论 -
面试题8---打印从1到最大的n位数详解
1.题目输入数字n,按顺序打印出从1到最大的n位十进制数。比如输入3,则打印出1,2,3,则打印出1.2,3一直到最大的3位数999。2.笔者解答如果面试的时候真遇到这题,做梦都能笑醒吧,然后和笔者一样飞快的写下了下面代码。void Print1ToMaxOfDigits_1(int n){ int number=1; int i=0; while(i++,n) nu...原创 2020-04-17 10:47:04 · 979 阅读 · 0 评论 -
面试题7---剪绳子详解
1.题目给你一根长度为n的绳子,请把绳子剪成m段(m,n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],…k[n]。请问k[0]乘k[1]乘…k[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。2.涉及知识点动态规划基本思想:动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可...原创 2020-04-16 16:58:46 · 1483 阅读 · 0 评论 -
面试题六---矩阵中的路径详解
1.题目请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3乘4的矩阵中包含了一条字符串“bfce”的路径(路径中的字母用粗体标出)。但矩阵中不包含字符串“abfb”的路径,因为字符串的第一个字符b占据了矩阵中的第一行第...原创 2020-04-16 10:56:49 · 1400 阅读 · 0 评论 -
面试题5---旋转数组的最小数字详解
1.题目把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。2.笔者解答//如果你的第一想法是下面这个方法,那你并不孤单。。。!int min;int i;for(i=0;i<length;i++){ if(i==0...原创 2020-04-16 09:37:50 · 784 阅读 · 0 评论 -
面试题4---用两个栈实现队列详解
1.题目用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。2.笔者解答3.涉及知识点(一)泛型重载帮助我们实现了同一函数可以实现不同的功能,也可以接收不同类型的参数。比如当我们想写一个swap()交换函数时,通常这样写:void swap(int& a,int&b)...原创 2020-04-10 17:15:12 · 915 阅读 · 0 评论 -
面试题3---重建二叉树详解
1.题目输入某二叉树的前序遍历和中序遍历的结果,请重建二叉树。假设输入的前序遍历和中序遍历的结果都不含重复的数字。例如,输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则如图1所示的二叉树并输出它的头节点。2.笔者解答#include "stdafx.h"#include<iostream>using namespace ...原创 2020-04-07 21:19:47 · 865 阅读 · 0 评论 -
面试题2---数组中重复的数字详解
本题涉及的知识点有:快速排序,哈希表,动态数组。着重介绍考点后,分析题目,给出解答方案。原创 2020-04-06 15:32:23 · 1259 阅读 · 0 评论 -
面试题1---赋值运算符函数详解
1.题目如下类型CMyString的声明,请为该类型添加赋值运算符函数。class CMyString{ public: CMyString(char* pData=nullptr); CMyString(const CMyString& str); ~CMyString(void); private: char* m_pData;}2.疑问1.赋值...原创 2020-04-05 21:56:37 · 2440 阅读 · 2 评论 -
剑指offer---前言
1.对上《大话数据结构》专栏的总结这里总结的话,我们就不谈术语了,聊聊心得吧。首先呢,用了十八天的时间写完了《大话数据结构》专栏,十八天前,发表了我的第一篇博客。写第一篇博客的时候,挺紧张的,因为我很清楚自己的水平,也知道优快云里大佬很多,自己写的东西会不会太浅显,又或者说班门弄斧。作为小白的我,花了整整一天的时间写完了一篇C++复习笔记,总共是一万多字,目的是为之后的编程刷题做准备,所以只...原创 2020-04-04 19:24:44 · 792 阅读 · 0 评论