
数据结构练习题
文章平均质量分 72
dhdhdhdhg
加油呀好好敲代码
展开
-
求二叉树的最近公共祖先两种方法(分别借鉴双亲表示法和二叉搜索树思想)【LeetCode】
文章目录一、求二叉树的最近公共祖先1.题目描述2.输入输出示例二、思路分析三、普通二叉树借鉴双亲表示法思想四、普通二叉树借鉴二叉搜索树思想一、求二叉树的最近公共祖先1.题目描述给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”2.输入输出示例示例 1:输入:root = [3,5,1,6,2,..原创 2021-11-11 10:04:11 · 1037 阅读 · 2 评论 -
关于二叉树的分层遍历及其笔试题延伸(数据结构)
文章目录一、二叉树的分层遍历二、二叉树的层序遍历(LeetCode)1.题目描述2.输入输出示例3.思路分析4.代码实现三、层序遍历Ⅱ(LeetCode)1.题目描述2.输入输出示例3.思路分析4.代码实现一、二叉树的分层遍历直接遍历不现实,因为越往后结点越多,而且并不是每层结点都是2k-1。如果遍历一个结点后,将该结点的孩子保存起来,下一次从结构中获取,这里保存孩子采用队列(先放入空间中的结点先被访问)来实现。步骤:1.先需要new一个队列—>将来队列中放置的元素就是结点的引用..原创 2021-11-09 21:51:50 · 190 阅读 · 2 评论 -
Java数据结构二叉树前中后序遍历非递归实现(LeetCode)
文章目录一、前序遍历1.题目描述2.输入输出示例3.解题思路4.代码实现二、中序遍历1.题目描述2.输入输出示例3.解题思路4.代码实现三、后序遍历1.题目描述2.输入输出示例3.解题思路4.代码实现一、前序遍历1.题目描述给你二叉树的根节点 root ,返回它节点值的 前序 遍历。2.输入输出示例示例 1:输入:root = [1,null,2,3]输出:[1,2,3]示例2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]3.解题思路..原创 2021-11-08 11:31:06 · 257 阅读 · 0 评论 -
Java数据结构中二叉树的创建及其遍历(牛客网)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、题目描述二、输入输出描述三、代码实现前言关于IO类型的OJ题目要注意:1.需要创建Main类2.需要提供一个main方法3.需要循环接收每个测试用例4.需要用户自己导入所需要的包一、题目描述编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。例如如下的先序遍历字符串:ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对原创 2021-11-05 20:45:23 · 234 阅读 · 0 评论 -
Java数据结构中找出两个链表的第一个公共结点(带环和不带环)(LeetCode)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、pandas是什么?二、使用步骤1.引入库2.读入数据总结一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warn原创 2021-10-27 16:05:00 · 318 阅读 · 5 评论 -
Java数据结构求环形链表入口点(LeetCode)
文章目录一、题目描述二、输入输出示例三、解题思路四、解决方案五、思考一、题目描述给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。说明:不允许修改给定的链表。二、输入输出示例示例 1:输入:head = [3,2,0,-4], pos = 1输出:返..原创 2021-10-25 16:43:32 · 169 阅读 · 0 评论 -
Java数据结构面试题返回链表倒数第k个结点(LeetCode)
文章目录一、题目描述二、输入输出示例三、解题思路1.注意2.模拟实现四、解决方案一、题目描述输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。二、输入输出示例给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.三、解题思路先举生活..原创 2021-10-23 11:42:49 · 135 阅读 · 0 评论 -
Java数据结构面试题返回链表中间节点(LeetCode)
文章目录题目一:返回链表中间节点1.题目描述2.输入输出示例3.解决思路二、使用步骤1.引入库2.读入数据总结项目场景:问题描述:原因分析:解决方案:题目一:返回链表中间节点1.题目描述给定一个头结点为 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。2.输入输出示例3.解决思路二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot ..原创 2021-10-23 10:55:05 · 161 阅读 · 0 评论 -
Java模拟实现ArrayList(数据结构)
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、ArrayList的构造二、ArrayList常见操作三、模拟实现总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内原创 2021-10-21 10:39:45 · 437 阅读 · 0 评论 -
Java实现扑克牌程序(数据结构)
思路:在实现之前,先要想好步骤,思路清晰才不会出错。要实现一副扑克牌,首先要创建这个类,然后有一副扑克牌,之后进行洗牌,抓牌。1.定义一个Card类2.实现这个游戏:①构造一副扑克牌(52张)这里不包含大小王②洗牌③三个人每个人抓五张牌代码实现及其细节:1.定义一个Card类一张牌中包括两个属性:花色和牌面值public class MyCard { public char suit; //花色 public String rank; //牌面值 pub原创 2021-10-17 11:40:50 · 4492 阅读 · 0 评论