首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将节点移动到二叉树HTML中没有任何子节点的最后一行(第n行)

将节点移动到二叉树HTML中没有任何子节点的最后一行(第n行)是一个涉及二叉树的操作。在这个操作中,我们需要将一个节点移动到二叉树的最后一行,即第n行,并且该节点没有任何子节点。

首先,我们需要了解二叉树的基本概念。二叉树是一种树状数据结构,其中每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的每个节点可以包含一个值或者其他相关数据。

在HTML中表示二叉树可以使用标签和属性来实现。我们可以使用<div>标签表示二叉树的节点,并使用class属性来标识节点的层级。例如,第一层的节点可以使用class="level-1",第二层的节点可以使用class="level-2",以此类推。

要将节点移动到二叉树HTML中没有任何子节点的最后一行(第n行),我们可以按照以下步骤进行操作:

  1. 遍历二叉树:使用递归或迭代的方式遍历二叉树,找到所有没有子节点的节点。
  2. 计算节点所在行数:根据节点在HTML中的class属性值,计算节点所在的行数。例如,class="level-1"的节点在第一行,class="level-2"的节点在第二行,以此类推。
  3. 移动节点:将计算得到的没有子节点的节点移动到第n行。可以通过修改节点的class属性值来实现移动。
  4. 更新HTML结构:根据修改后的节点位置,更新HTML中对应节点的位置。

需要注意的是,以上步骤中的具体实现方式可能因具体的开发环境和框架而有所不同。在实际开发中,可以根据具体情况选择合适的方法和工具。

关于云计算和IT互联网领域的相关名词词汇,以下是一些常见的术语及其简要解释:

  1. 云计算(Cloud Computing):一种通过网络提供计算资源和服务的模式,包括计算、存储、网络等。
  2. 前端开发(Front-end Development):负责开发和维护用户界面的工作,通常涉及HTML、CSS和JavaScript等技术。
  3. 后端开发(Back-end Development):负责处理服务器端逻辑和数据的工作,通常涉及数据库、服务器和编程语言等技术。
  4. 软件测试(Software Testing):通过执行测试用例来评估软件质量和功能的过程,包括单元测试、集成测试和系统测试等。
  5. 数据库(Database):用于存储和管理数据的系统,常见的数据库包括MySQL、Oracle和MongoDB等。
  6. 服务器运维(Server Administration):负责管理和维护服务器的工作,包括安装、配置和监控服务器等。
  7. 云原生(Cloud Native):一种构建和运行应用程序的方法,利用云计算的优势,如弹性扩展和容器化。
  8. 网络通信(Network Communication):在计算机网络中传输数据和信息的过程,包括TCP/IP协议和HTTP协议等。
  9. 网络安全(Network Security):保护计算机网络免受未经授权的访问、攻击和数据泄露的措施和技术。
  10. 音视频(Audio and Video):涉及音频和视频处理、编码、解码和传输等技术。
  11. 多媒体处理(Multimedia Processing):处理和操作多媒体数据,如图像处理、音频处理和视频编辑等。
  12. 人工智能(Artificial Intelligence):模拟和实现人类智能的技术和方法,包括机器学习和深度学习等。
  13. 物联网(Internet of Things):将物理设备和传感器连接到互联网,实现设备之间的通信和数据交换。
  14. 移动开发(Mobile Development):开发移动应用程序的过程,涉及iOS和Android平台的开发技术。
  15. 存储(Storage):用于存储和管理数据的设备和系统,包括硬盘、闪存和云存储等。
  16. 区块链(Blockchain):一种分布式账本技术,用于记录和验证交易,具有去中心化和安全性的特点。
  17. 元宇宙(Metaverse):虚拟现实和增强现实技术的进一步发展,创造出一个虚拟的、与现实世界相似的数字空间。

以上是对问题的完善且全面的回答,希望能对您有所帮助。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

万字长文!剑指offer全题解思路汇总

面试题20:顺时针打印矩阵:首先需要判断每一步开始是的坐标点是否满足小于行数的一半且小于列数的一半,在最后一圈中,可能出现仅能向右走一行,仅能向右走一行向下走一列,向右走一行向下走一列向左走一行,能走完整一圈...」的方法,该方法基于二叉树或者堆来实现,首先把数组前k个数字构建一个最大堆,然后从第k+1个数字开始遍历数组,如果遍历到的元素小于堆顶的数字,那么久将换两个数字,重新构造堆,继续遍历,最后剩下的堆就是最小的...然后按照和前序遍历对应的先父节点,然后右子节点,最后左子节点遍历二叉树,存入一个序列。如果前后两个序列相等,那么说明二叉树是对称的。 面试题61:把二叉树打印成多行:引入两个队列。...面试题62:按之字形顺序打印二叉树:按之字形顺序打印二叉树需要两个栈。我们在打印某一行节点时,拔下一层的子节点保存到相应的栈里。...面试题69:八皇后问题:使用回溯法依次假设皇后的位置,当第一个皇后确定后,寻找下一行的皇后位置,当满足左上、右上和正上方向无皇后,即矩阵中对应位置都为0,则可以确定皇后位置,依次判断下一行的皇后位置。

81520

2. 基础数据结构初识

I k x,表示在第 k 个插入的数后面插入一个数 x(此操作中 k 均大于 0)。 输出格式 共一行,将整个链表从头到尾输出。 数据范围 1≤M≤100000 所有操作保证合法。...第二行包含 N 个整数,表示整数数列。 输出格式 共一行,包含 N 个整数,其中第 i 个数表示第 i 个数的左边第一个比它小的数,如果不存在则输出 −1。...删除和修改元素:将最后插入的元素覆盖掉需要修改的元素,之后从修改元素的位置重新对堆进行排序 ---- 2.4.1 堆排序 ---- 思想 将数据以堆的形式进行存储 仅实现堆的上移或下移操作对堆中的数据进行排序...输入格式 第一行包含整数 N。 接下来 N 行,每行包含一个操作指令,操作指令为 I x,PM,DM,D k 或 C k x 中的一种。...输入格式 第一行包含整数 N,表示操作数量。 接下来 N 行,每行包含一个操作指令,操作指令为 I x,Q x 中的一种。

25820
  • 一文读懂递归算法!

    递归的学习绝对是一个持久战,没有人可以一蹴而就。一年两年的,很寻常。 问题的复杂,加上递归本身的细节,我们想要 "学会","学好",再 "用好",是需要一个漫长的过程的。...很简单,我们首先用将 N 个圆盘移动到 C 上的方法将 N 个圆盘都移动到 B 上,然后再把第 N+1 个圆盘(最后一个)移动到 C 上,再用同样的方法将在 B 杠上的 N 个圆盘移动到 C 上,问题解决...; return; } //通用情况 Hanoi(n - 1, a, c, b); Hanoi(1, a, b, c); Hanoi(n - 1, b, a, c); } 例 2 求二叉树节点个数展开目录...首先看下基本情况,即终止条件:当为空树时,节点数为 0; 再来看下通用情况:当前节点的左,右子树节点数都被求出,则以当前结点为根的二叉树的节点总数就是 “左子树 + 右子树 + 1”。...问题可用递归来解决需具备的条件: 子问题需与原问题为同样的事,且规模更小; 程序停止条件。

    69910

    数据结构

    申请插入节点s并赋值 // 3. r的next指针指向s // 4. r后移一步指向s,为下一步的操作做准备 // 最后将最后一个节点的nextz 二叉树 顺序存储 几个常考的基本操作 i的左孩子...在小根堆中,每个父节点都必须小于子节点元素 在大根堆中,每个父节点都必须大于子节点元素 按照层序遍历的顺序来给节点编号 上滤 当叶子节点破坏了堆序性,让他和他的父元素比较,若大于父节点则交换...,直到无法上移为止, 下滤 将破坏堆序性的元素跟他的最大的子节点比较,如果小于他的最大子节点,则交换 持续比较,直到该元素大于他的子节点位置,或者移动到底部为止 总之,上滤是和父节点比较,下滤是和子节点比较...,只能父子之间交换 建堆 自顶向下建堆法 将元素一个一个插入到堆内,将新元素放到堆的最后一位,然后对其进行上滤操作 取最值调整 在大根堆中,如果父节点比两个子节点都要小,则选最大的往上走...在小根堆中,如果父节点比两个子节点都要大,则选最小的往上走 排序顺序:从最后一个父节点开始往上找

    11910

    一文读懂递归算法

    我们可以把” 递归 “比喻成 “查字典 “,当你查一个词,发现这个词的解释中某个词仍然不懂,于是你开始查这第二个词。...很简单,我们首先用将 N 个圆盘移动到 C 上的方法将 N 个圆盘都移动到 B 上,然后再把第 N+1 个圆盘(最后一个)移动到 C 上,再用同样的方法将在 B 杠上的 N 个圆盘移动到 C 上,问题解决...; return; } //通用情况 Hanoi(n - 1, a, c, b); Hanoi(1, a, b, c); Hanoi(n - 1, b, a, c); } 例 2 求二叉树节点个数展开目录...首先看下基本情况,即终止条件:当为空树时,节点数为 0; 再来看下通用情况:当前节点的左,右子树节点数都被求出,则以当前结点为根的二叉树的节点总数就是 “左子树 + 右子树 + 1”。...问题可用递归来解决需具备的条件: 子问题需与原问题为同样的事,且规模更小; 程序停止条件。 END

    67120

    文心一言 VS 讯飞星火 VS chatgpt (65)-- 算法导论6.5 4题

    文心一言: 在 MAX-HEAP-INSERT 算法的第二行将关键字设为 -∞,是为了保持堆的性质。堆是一种二叉树结构,其中每个节点的值都大于或等于其子节点的值。...在这里插入图片描述 通义千问: 在 MAX-HEAP-INSERT 算法中,第 2 行的操作是将新元素与当前最大键的关键字进行比较。...在这里插入图片描述 chatgpt: 在 MAX-HEAP-INSERT(最大堆插入)算法的第2行,将关键字设为 -∞ 的目的是为了确保新插入的节点能够移动到合适的位置,以维持最大堆的性质。...最大堆是一种二叉树的数据结构,其中每个节点的值都大于或等于其子节点的值。当我们插入一个新节点时,它可能违反了最大堆的性质,即新节点的值可能大于其父节点的值。...设为 -∞ 是一个小于所有可能的关键字值的特殊值。将新节点的关键字设置为 -∞ 可以保证它的值小于父节点的值,以便将其上移。

    19630

    【化解数据结构】详解堆结构,并实现最小堆结构

    完全二叉树 在满二叉树的性质上,最后一层的叶子节点,均在左树上 若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树...如图一棵完全二叉树 它们的区别: 完全二叉树最后一层没有满 满二叉树一定是完全二叉树 完全二叉树不一定是满二叉树 3. 堆的特点 好了了解了什么是完全二叉树,那堆有什么特点呢?...堆是一棵完全二叉树 任意节点都优于它的所有子节点 如果任意节点都大于它的所有子节点,那么它叫做最大堆,也叫大顶堆 如果任意节点都小于它的所有子节点,那么它叫做最小堆,也叫小顶堆 左边是一个最大堆...数组中的第K个最大元素 347. 前 K 个高频元素 1046. 最后一块石头的重量 703....数据流中的第 K 大元素 总结 在这篇文章中我们详细讲解了,什么是一个堆,如何实现一个堆,到最后手写封装了一个最小堆,在这过程中我们知道了如何将一个元素插入堆中,如何获取堆中的特定元素。

    61630

    【化解数据结构】详解堆结构,并实现最小堆结构

    完全二叉树 在满二叉树的性质上,最后一层的叶子节点,均在左树上 若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树...如图一棵完全二叉树 它们的区别: 完全二叉树最后一层没有满 满二叉树一定是完全二叉树 完全二叉树不一定是满二叉树 3. 堆的特点 好了了解了什么是完全二叉树,那堆有什么特点呢?...堆是一棵完全二叉树 任意节点都优于它的所有子节点 如果任意节点都大于它的所有子节点,那么它叫做最大堆,也叫大顶堆 如果任意节点都小于它的所有子节点,那么它叫做最小堆,也叫小顶堆 左边是一个最大堆...数组中的第K个最大元素 347. 前 K 个高频元素 1046. 最后一块石头的重量 703....数据流中的第 K 大元素 总结 在这篇文章中我们详细讲解了,什么是一个堆,如何实现一个堆,到最后手写封装了一个最小堆,在这过程中我们知道了如何将一个元素插入堆中,如何获取堆中的特定元素。

    52810

    算法基础--堆排序

    堆的结构 堆实际上是一颗完全二叉树形式的数组 满二叉树 对于国内的满二叉树 除最后一层无任何子节点外,每一层上的所有结点都有两个子结点二叉树。 从图形形态上看,满二叉树外观上是一个三角形 ?...用数组,建立大根堆二叉树 将数组中元素依次放入完全二叉树中,若大于父节点则依次比对交换。保证时刻处于大根堆排序 第i个数字被插入时排序的时间复杂度与高叉树高度相等,即O(Logi)。...,并且将排序区域前移。...heapify(arr: &arr, index: 0, heapSize: size-i-2)//将数组有效size前移,重新调整成大根堆 } } 其中构建初始堆经推导复杂度为O(n),在交换并重建堆的过程中...,需交换n-1次,而重建堆的过程中,根据完全二叉树的性质,[log2(n-1),log2(n-2)...1]逐步递减,近似为nlogn。

    61250

    图片出自百度,我们看一下图中左边的二叉树,这个二叉树就是一棵典型的完全二叉树,这棵二叉树的深度是 4 , 第 1 ~ 3 层的节点都达到最大个数(节点已满),最后一层的节点从左边开始并且全部持续在在左边...再看最后一层, G 节点并没有从最左边(D节点的左子节点)开始,如果我们要使得它为完全二叉树,我们就要把 G 节点移动到 B 节点的右子节点位置上(作为 B 节点的右子节点)。...最大堆:堆顶元素大于堆的任何一个直接子节点。 注意: ①堆中任一子树亦是堆。...②以上讨论的堆实际上是二叉堆 调整已有数据的数组,使其形成一个堆 好了,说了这么多理论,让我们来看一下怎么去建立一个最大堆: 我们通过代码来看,以下是建立最大堆的核心代码: // 将堆中以第 i 个节点为根节点的子完全二叉树调整顺序使得其为一个最大堆...完全二叉树的最大节点总数 int heap[N]; // 储存堆的数组 // 将堆中以第 i 个节点为根节点的子完全二叉树调整顺序使得其为一个最大堆 void maxHeap(int i, int

    61520

    【数据结构课程学习】二叉树_堆:Lesson2

    满二叉树: 每一层达到最大节点数的时候,为满二叉树。也就是第n层最多的节点数为2^(n-1)个。n层的满二叉树,总节点为2^n -1个。...二叉树的性质: 规定根的节点层级为1 ●一棵非空二叉树的第n层最多有2^(n-1)个节点,总节点最多为2^n-1。 ●当只有根节点的时候,叶子节点为M个,度为2的节点为N个。...所以二叉树中,任何非空情况下都有: 叶子节点数=度为2的节点数+1 ●有N个节点,那么就有(N-1)条边。因为除了根节点以外,每增加一个节点就要增加一条边。...2.如果第i个节点,2*i+1N,那么2*i+1为i节点的左孩子,如果大于等于N,那么没有左孩子。...3.如果第i个节点,2*i+2N,那么2*i+2为i节点的右孩子,如果大于等于N,那么没有右孩子。 二叉树的几个理论题: 1.

    7710

    Recursion递归

    我们只需利用栈,通过入栈和出栈两个操作就可以模拟递归的过程,二叉树的遍历无疑是这方面的代表。 但是并不是每个递归程序都是那么容易被改写为非递归的。...A 杆上有 N 个穿孔圆盘,盘的尺寸由上到下依次变大,B,C 杆为空。要求按下列规则将所有圆盘移至 C 杆: 每次只能移动一个圆盘; 大盘不能叠在小盘上面。 问:如何移?最少要移动多少次?...很简单,我们首先用将 N 个圆盘移动到 C 上的方法将 N 个圆盘都移动到 B 上,然后再把第 N+1 个圆盘(最后一个)移动到 C 上,再用同样的方法将在 B 杠上的 N 个圆盘移动到 C 上,问题解决..., a, b, c); Hanoi(n - 1, b, a, c); } 求二叉树节点个数展开目录 ?...image 首先看下基本情况,即终止条件:当为空树时,节点数为 0; 再来看下通用情况:当前节点的左,右子树节点数都被求出,则以当前结点为根的二叉树的节点总数就是 “左子树 + 右子树 + 1”。

    76720

    面试算法题

    题目来源于牛客网:https://www.nowcoder.com/ta/coding-interviews 1、二维数组中的查找 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序...注意:head.next指向子链表的第一个节点,逆序后指向最后一个节点 ListNode newHead=reverse(head.next); //将头节点放到已经逆序子链表最后...输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。...请你输出斐波那契数列的第n项。...两个指针,先让第一个指针和第二个指针都指向头结点,然后再让第一个指正走(k-1)步,到达第k个节点。然后两个指针同时往后移动,当第一个结点到达末尾的时候,第二个结点所在位置就是倒数第k个节点了。

    2.3K71

    数据结构小记【PythonC++版】——树与二叉树篇

    节点的度(Degree):该节点的子节点数量。 二,二叉树的基础概念 每个节点最多有两个子节点的树被称为二叉树。 在给定的二叉树中,任何级别的最大节点数为 2 l-1,其中"l"是级别编号。...2.有些树的每个节点的子节点之间可以是无序的,两个子节点之间甚至可以交换位置。而(有序)二叉树中,每个节点的子节点之间需要区分是左子节点还是右子节点,即使整棵树就两个节点。...(3),完全二叉树(complete binary tree) 完全二叉树除了最后一层之外的所有层次都被填满,最后一层有的位置只有左节点。 注意,满二叉树是特殊的完全二叉树。...树中的节点数决定了数组的大小。 数组的第一个位置存储根节点。 如果一个节点存储在第i位置,那么它的左子节点和右子节点分别存储在第2i和第2i+1位置。...方式一,深度优先遍历 深度优先遍历是从第一个节点开始遍历二叉树并到达没有子节点的最深节点,在到达最深节点后,回退到它的父节点,然后递归地执行此操作,直到遍历所有节点。

    40220

    重温数据结构:深入理解红黑树

    ; 最差时候会是 O(n),比如插入的元素是有序的,生成的二叉排序树就是一个链表,这种情况下,需要遍历全部元素才行(见下图 b)。...为了改变排序二叉树存在的不足,Rudolf Bayer 在 1972 年发明了另一种改进后的排序二叉树:红黑树,他将这种排序二叉树称为“对称二叉 B 树”,而红黑树这个名字则由 Leo J....上面讲的是插入节点 N 在父亲节点 P 的左孩子位置,如果 N 是 P 的右孩子,就需要多进行一次左旋,把情况化解成上述情况。 ? N 位于 P 的右孩子位置,将 P 左旋,就化解成上述情况了。...删除后的结构调整 根据红黑树的第 5 个特性: 如果当前待删除节点是红色的,它被删除之后对当前树的特性不会造成任何破坏影响。...: 这一步的目的是将兄弟节点变成黑的,转变成第二步两种情形中的某一种情况。

    1.3K101

    文心一言 VS 讯飞星火 VS chatgpt (298)-- 算法导论22.1 2题

    文心一言: 在Go语言中,表示一棵完全二叉树的邻接矩阵首先需要理解完全二叉树的性质:对于任何非叶子节点,其左子节点的索引是其索引的两倍,右子节点的索引是其索引的两倍加一(假设根节点的索引为1)。...然后在main函数中,我们创建了一个示例邻接链表,并将其转换为邻接矩阵。最后,我们打印出邻接矩阵的每一行。 360智脑: 在Go语言中,我们可以创建一个二维数组来表示邻接矩阵。...在完全二叉树中,第n个节点的子节点编号应该是2n和2n+1。但是在这个例子中,我们只有7个节点,所以有些节点是不存在的。...邻接矩阵是一个二维数组,其中的元素表示两个结点之间是否存在边。在完全二叉树的邻接矩阵中,如果结点i是结点j的父结点,则矩阵的第i行第j列的元素为1,否则为0。...,则矩阵的第i行第j列的元素为1,否则为0。

    8120

    树的遍历

    输入格式: 输入第一行给出一个正整数N(二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中序遍历序列。数字间以空格分隔。 输出格式: 在一行中输出该树的层序遍历的序列。...,根据后序遍历的顺序我们可以知道,输出的最后一个节点的值就是整个二叉树的根节点。...我们在中序遍历中找到它的位置,那么左右两边的节点就是该节点的左右子树,之后找到后续遍历的倒数第二个节点,这个就是根节点的右子节点,然后再对这个节点进行讨论。。。...值 int l; // 左子节点的下标 int r; // 右子节点的下标 }; Node node[N]; void input(int a[], int n) {...for(int i = 0; i n; i++) { cin >> a[i]; } } // 重建以第 n 个节点为根节点的二叉树 void rec(int l, int

    89230

    二叉树及其三种遍历

    .在完全二叉树中,具有n个节点的完全二叉树的深度为[log2n]+1,其中[log2n]+1是向下取整。...右边大子树同样先访问根节点C, (7)访问左子树G, (8)因为G的左子树没有,所以接下俩访问G的右子树H, (9)最后访问C的右子树I 2.中序遍历:按照左子树->根节点->右子树的顺序访问 中序遍历...getline(cin,line))return false;//因为题目说一行数据,没有结束标志,所以以回车为结束用字符串读入!...第一行输入二叉树的先序遍历序列; 第二行输入二叉树的中序遍历序列。 输出该二叉树的后序遍历序列。...请建立二叉树并求二叉树的层次遍历序列。 输入数据有多行,第一行是一个整数t (t行测试数据。每行是一个长度小于50个字符的字符串。 输出二叉树的层次遍历序列。

    1.1K30

    【数据结构】二叉树链式结构的实现

    我们可以用递归来解决 假如,传入函数的节点是空那就直接返回,若不为空,打印当前数值,把对应的左孩子与右孩子分别传进去,子节点与其父亲节点处理问题思路相同,符合把大事化小原则,是递归思想,那前中后序代码,...我们再回归到这个题,我们可以用先序遍历创建二叉树,我们现将数组首地址以及下标地址传进函数中,如果数组里的值为‘#’此处创建空节点,若不是,开辟一个二叉树的结构体空间,左右孩子子树也是这么创建的,子问题思路相同符合先序遍历的递归...行节点个数,不返回最后一行叶子结点个数,返回任意一行节点个数 假如我返回第三行的节点个数,那在我们遍历过程中,我们如何确定节点是否是第三行那,我们有图可以过一行K减一,只要向下递归一行K减一,到目标行第三行...K就是1,也就是说,若K等于1,到达目标行 代码如下 int BinaryTreeLevelKSize(BTNode* root, int k)//二叉树第k个节点 { if (root == NULL...怎么判断这个二叉树为完全二叉树那 我们沿用层序遍历的思路,层序遍历是将每个节点传入队列里,然后通过出队列顺序达到目的,那我们画图来看一下 由图可见,我们层序遍历过程中,若遇见空节点,我们要判断此刻队列里是否还有非空节点

    8510

    算法基础学习笔记——⑧堆哈希表

    :完全二叉树//除最后一层节点之外,上面所有结点都是满的,最后一层结点从左到右排列 堆的存储:用一维数组存 堆可以使用一维数组来进行存储。...一维数组可以使用连续的内存空间来表示堆的结构。 堆是一种完全二叉树,可以按照从上到下、从左到右的顺序将其节点依次存储在一维数组中。...堆的插入操作使用了堆化上移(`heapify_up`),从插入位置开始,将节点与其父节点进行比较并交换,直到满足堆的性质为止。...堆的删除操作使用了堆化下移(`heapify_down`),从根节点开始,将节点与其较小的子节点进行比较并交换,直到满足堆的性质为止。...对于最小堆,删除操作通常删除堆顶的最小元素,并通过将堆的最后一个元素移动到堆顶,并通过一系列交换操作将其移动到合适的位置,以保持最小堆的性质。

    10110
    领券