DataStructure
文章平均质量分 51
Marval-C
这个作者很懒,什么都没留下…
展开
-
Leetcode100——判断两树相同——c++版本循序渐进学习
老规矩,还是先贴出题面哦~给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 2:...原创 2018-10-11 19:53:43 · 422 阅读 · 0 评论 -
LeetCode101——对称二叉树——c++版本实现
题面来啦~给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3/** * Defini...原创 2018-10-11 20:25:19 · 986 阅读 · 0 评论 -
数据结构学习——二叉树
由于关于二叉树的资料现在已经太多啦,那我们在这里就直接贴代码,大家对应着注释看就可以啦~~~有一点要注意的是,二叉树这里创建时候的节点输入顺序要遵循从最左下开始逐渐向右哦~~#include<iostream>#include<malloc.h>using namespace std;typedef int data_type;typedef stru...原创 2018-10-05 17:46:43 · 167 阅读 · 0 评论 -
LeetCode622——设计循环队列——c++根据不同STL容器的不同实现方式
最开始呢还是先贴出题面。设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。你的实现应该支持...原创 2018-10-13 13:56:33 · 1083 阅读 · 0 评论 -
数据结构学习——带父节点的二叉搜索树全部功能c++实现
第二篇二叉树我们带来纯c++版本的二叉搜索树,这篇代码是我学习了很多优秀代码之后写出来的,大家在学习二叉搜索树的同时可以着重看下在这里如何定义的二叉搜索树,以及Private和Public的封装联动,对代码思路是一个很好的提升。注:在这里的遍历我只写了前序遍历,其他的遍历方式大家可以看我的前一篇博客,一共写到了两个大方法共计5种小方法的遍历~~猛男话不多,代码走起#include&l...原创 2018-10-09 14:45:27 · 679 阅读 · 0 评论 -
LeetCode111——二叉树最小深度c++多方法详解
给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7既然提到了深度的问题那就不得不先提到最大深度的获取,这道题在leetcode上面也有,不过大家就按字...原创 2018-10-19 17:20:27 · 910 阅读 · 0 评论 -
LeetCode 450——二叉搜索树的节点删除——c++版本循序渐进学习
把题面给大家放一哈给定一个二叉搜索树的根节点root和一个值key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。一般来说,删除节点可分为两个步骤:首先找到需要删除的节点; 如果找到了,删除它。说明: 要求算法时间复杂度为 O(h),h 为树的高度。示例:root = [5,3,6,2,4,null,7...原创 2018-10-10 19:14:45 · 331 阅读 · 0 评论