《剑指Offer》题目解析(12)

《剑指Offer》题目解析(12)
题目1 序列化二叉树 题目描述 请实现两个函数,分别用来序列化和反序列化二叉树 题目解析 序列化二叉树可以使用前序遍历来进行,这样的话响应的反序列化在根节点的数值读出来的时候就可以开始了。如果二叉树读的...
401 views

《剑指Offer》题目解析(11)

《剑指Offer》题目解析(11)
题目4 和为S的两个数字 题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 题目解析 我们知道,两个数字,距离越远,...
423 views

《剑指Offer》题目解析(10)

《剑指Offer》题目解析(10)
题目1 二叉树的深度 题目描述 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 题目解析 如果一棵树只有一个结点,那么深度为1.如...
383 views

《剑指Offer》题目解析(9)

《剑指Offer》题目解析(9)
题目6 第一次只出现一次的字符 题目描述 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写)。 题目解析 只要这种问...
384 views

《剑指Offer》题目解析(8)

《剑指Offer》题目解析(8)
题目1 数组中出现次数超过一半的数字 题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一...
365 views

《剑指Offer》题目解析(7)

《剑指Offer》题目解析(7)
题目6 二叉搜索树的后序遍历序列 题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两 个数字都互不相同。 题目解析 我们以后序遍历...
422 views

《剑指Offer》题目解析(6)

《剑指Offer》题目解析(6)
题目1 二叉树的镜像 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 题目解析 一定要考虑到两种特殊情况: 二叉树为空 二叉树的左子树为空且二叉树的右子树为空 设计代码的时候一定要考虑代码的鲁棒性...
353 views

《剑指Offer》题目解析(5)

《剑指Offer》题目解析(5)
题目7 链表倒数第k个结点 题目描述 输入一个链表,输出该链表中倒数第k个结点。 题目解析 我们很容易可以想到,由于这是一个单向链表,所以我们可以第一遍先遍历这个链表,看有多少个结点(假设为n),然后计算出...
377 views

《剑指Offer》题目解析(4)

《剑指Offer》题目解析(4)
题目1 斐波那契数列 题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39 代码 递归方法: C++ int Fibonacci(i...
382 views