摘要: // 面试题55(二):平衡二叉树 // 题目:输入一棵二叉树的根结点,判断该树是不是平衡二叉树。如果某二叉树中 // 任意结点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。 #include <cstdio> #include "BinaryTree.h" // 方法1 int Tree 阅读全文
posted @ 2020-04-07 19:36 源周率 阅读(156) 评论(0) 推荐(0) 编辑
摘要: // 面试题55(一):二叉树的深度 // 题目:输入一棵二叉树的根结点,求该树的深度。从根结点到叶结点依次经过的 // 结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 #include <cstdio> #include "BinaryTree.h" int TreeDepth( 阅读全文
posted @ 2020-04-07 18:29 源周率 阅读(160) 评论(0) 推荐(0) 编辑
摘要: // 面试题54:二叉搜索树的第k个结点 // 题目:给定一棵二叉搜索树,请找出其中的第k大的结点。 #include <cstdio> #include "BinaryTree.h" const BinaryTreeNode* KthNodeCore(const BinaryTreeNode* p 阅读全文
posted @ 2020-04-07 18:17 源周率 阅读(140) 评论(0) 推荐(0) 编辑
摘要: // 面试题53(三):数组中数值和下标相等的元素 // 题目:假设一个单调递增的数组里的每个元素都是整数并且是唯一的。请编程实 // 现一个函数找出数组中任意一个数值等于其下标的元素。例如,在数组{-3, -1, // 1, 3, 5}中,数字3和它的下标相等。 #include <cstdio> 阅读全文
posted @ 2020-04-07 17:15 源周率 阅读(143) 评论(0) 推荐(0) 编辑
摘要: // 面试题53(二):0到n-1中缺失的数字 // 题目:一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字 // 都在范围0到n-1之内。在范围0到n-1的n个数字中有且只有一个数字不在该数组 // 中,请找出这个数字。 #include <cstdio> int GetMiss 阅读全文
posted @ 2020-04-07 17:04 源周率 阅读(154) 评论(0) 推荐(0) 编辑
摘要: // 面试题53(一):数字在排序数组中出现的次数 // 题目:统计一个数字在排序数组中出现的次数。例如输入排序数组{1, 2, 3, 3, // 3, 3, 4, 5}和数字3,由于3在这个数组中出现了4次,因此输出4。 #include <cstdio> int GetFirstK(const 阅读全文
posted @ 2020-04-07 16:37 源周率 阅读(148) 评论(0) 推荐(0) 编辑
摘要: // 面试题52:两个链表的第一个公共结点 // 题目:输入两个链表,找出它们的第一个公共结点。 #include <cstdio> #include "List.h" unsigned int GetListLength(ListNode* pHead); ListNode* FindFirstC 阅读全文
posted @ 2020-04-07 15:38 源周率 阅读(99) 评论(0) 推荐(0) 编辑