二叉搜索树(BST)demo

LeetCode 255 超通俗讲解:Swift 验证前序是否 BST 在做算法题的时候,树相关的题总是“神神叨叨”的,但其实抓住核心规则,它们也挺有逻辑的。给你一段前序遍历序列,问你它能不能构成一个合法的二叉搜索树(BST)?这题我们会用 Swift 写一个“靠谱”的解法,边讲边拆解,最后还有可运行的 Demo 方便你直接跑。这道题说简单也不简单,说复杂也不复杂。它没有让你去构建真正的树结构,而是让你模拟前序遍历的判断过程。只要理解了“左子树 < 根 < 右子树”的 BST 特性,用一个栈就能轻松解决。代码解析器:校验表达式语法是否合法;编译器优化:判断语法树结构; 阅读详情
#include <iostream>

using namespace std;

class Node {
public:
	Node(int key_):left(NULL),right(NULL),key(key_){}
	Node* left;
	Node* right;
	int key;
};

class BST {
public:
	BST() : root(NULL) {}

	~BST() {
		clear(root);
	}

	void clear(Node* node) {
		if (node == NULL) return;
		clear(node->left);
		clear(node->right);
		delete node;
	}

	Node* searchNode(int key) {
		Node* result = root;
		while(result != NULL) {
			if (result->key == key) return result;
			result = key < result->key ? result->left : result->right;
		}
		return result;
	}

	Node* minSubNode(Node* node) {
		Node* result = node;
		while(result->left != NULL) result = result->left;
		return result;
	}

	void insertNode(Node*& node, Node* new_node) {
		if (node == NULL) node = new_node;
		else if (new_node->key < node->key) insertNode(node->left, new_node);
		else insertNode(node->right, new_node);
	}

	void insertKey(int key) {
		Node* new_node = new Node(key);
		insertNode(root, new_node);
	}

	Node* parNode(Node* child_node) {
		if (child_node == root) return NULL;
		Node* result = root;
		while (result->left != child_node && result->right != child_node)  
			result =  child_node->key < result->key ? result->left : result->right;
		return result;
	}

	void sliceNode(Node* slice_node) {
		Node* par = parNode(slice_node);
		Node* slice_child_node = slice_node->left != NULL ? slice_node->left : slice_node->right;
		if (par == NULL) {
			root = slice_child_node;
		} else {
			if (par->left == slice_node) par->left = slice_child_node;
			else par->right = slice_child_node;
		}
	}

	void deleteNode(Node* del_node) {
		if (del_node->left == NULL || del_node->right == NULL) {
			sliceNode(del_node);
			delete del_node;
		} else {
			Node* suc_node = minSubNode(del_node->left);
			sliceNode(suc_node);
			del_node->key = suc_node->key;
			delete suc_node;
		}
	}

	bool deleteKey(int key) {
		Node* del_node = searchNode(key);
		if (del_node == NULL) return false;
		deleteNode(del_node);
		return true;
	}

private:
	Node* root;
};


 

嵌入式调光控制库:轻量级软启/渐变/记忆逻辑实现 调光控制是智能照明系统的核心基础功能,涉及亮度调节、人机交互与电气安全多重需求。其底层原理依赖于对相位角或PWM占空比的精确时序控制,并需融合软启动、渐变过渡、状态记忆等工程化逻辑。这类轻量级调光行为逻辑层,不直接操作硬件寄存器,而是以确定性、无动态内存、可配置的方式封装用户意图到目标亮度值(0–100%)的映射过程,显著提升产品鲁棒性与跨平台复用能力。广泛应用于TRIAC交流调光、LED直流PWM驱动及DALI/Matter等智能照明协议网关中,尤其适合资源受限的Cortex-M系列MCU和FreeRTO 阅读详情

相关推荐

UR机械臂正逆运动学解析:从DH参数到8组解的完整求解策略

本文深入解析UR机械臂的正逆运动学求解策略,从DH参数原理到完整的8组解求解方法。详细介绍了正运动学的坐标变换过程,以及逆运动学中Atan2函数和三角恒等变换的应用,并揭示了8组解的产生机制。通过实际案例和调试技巧,帮助工程师掌握UR机械臂运动学求解的核心技术。

weixin_29094775的博客 412

GoJs的二叉树用法

第一次写博客。 这个二叉树只想着只用,不喜勿喷。 先导入js文件 不过最好是自己去官网下载 https://gojs.net/latest/doc/download.html 导入js后写个方法js方法 init(),在页面加载时调用就可以了 function init() { var $ = go.GraphObject.make; var myDiagra

qq_37753580的博客 805

5G(NR)物理层面试问答

1.什么是参数集(Numerologies)? 答:在5G中由于其频段很宽,设置了不同的子载波带宽,另根据频段、循环前缀、帧结构等组成了参数集。 2.5G中的循环前缀有几种? 答:5G网络支持5种子载波间隔,有两种循环前缀(正常和扩展)。其中:参数集2,即子载波间隔60kHz支持常规循环前缀和扩展循环前缀。 3.5G无线网络在下行(DL)和上行(UL)均使用OFDM波形? 答:5G网络下行链路(DL)和上行链路(UL)使用的波形及处理见下图: 4.5G物理层帧和子帧是多长时间? 答:5G.

starts1990的博客 2377

二叉搜索树(BST)

链表允许我们添加、删除、搜索数据,这种数据结构会在执行时申请必要的内存空间,便于管理动态集合。但是,在链表中搜索元素的算法复杂度为O(n)。相比之下,使用动态树结构能更加有效地添加、删除和搜索数据。 什么是二叉搜索树? 搜索树是一种可以进行插入、搜索、删除等操作的数据结构,可以用作字典或者优先级队列。二叉搜索树属于最基本的搜索树。 二叉搜索树的各结点均拥有键值,且该树时常满足下述二叉搜索树的性质。...

化身孤岛的鲸o的博客 396

Isaac Sim 车辆动力学:从参数调优到户外仿真的挑战与实战

本文深入探讨了Isaac Sim在车辆动力学仿真中的应用,从参数调优到户外场景模拟的实战经验。详细解析了悬架系统、轮胎物理模型等核心参数的设置技巧,并分享了应对户外仿真挑战的实用方案。通过Vehicle Wizard高级使用和传感器配置,帮助开发者高效完成车辆仿真与算法开发。

weixin_29192211的博客 404

从零打造M328晶体管测试仪:硬件DIY与烧录避坑指南

本文是一份详尽的M328晶体管测试仪DIY指南,涵盖从硬件选型、PCB设计、焊接组装到固件烧录的全过程。重点解析了使用AVR单片机与Arduino IDE环境时,如何正确设置熔丝位以避免“白屏”等常见问题,并提供了使用ISP编程器进行烧录的实操步骤与校准方法,帮助电子爱好者成功打造属于自己的高性价比元件测试工具。

weixin_29243063的博客 474

排序二叉树的实现

在计算机科学中,二叉树是一种重要的非线性的数据结构。每个结点的度均小于等于2,通常子树称为左子树和右子树。而排序二叉树是二叉树中的一种,其满足:1. 如左子树不为空,那么左子树上的结点的值都小于其根上的值;2. 如右子树不为空,那么右子树上的结点的值都大于其根上的值; 3. 其子树也是一个排序二叉树。 下面用递归的方式来插入一个结点来满足上述的要求: typedef struct Node {

1110

吊打BEVFormer!GaussianBeV实战:用3D高斯开启BEV分割新范式

GaussianBeV是一种基于3D高斯建模的BEV分割新方法,在自动驾驶感知任务中实现了SOTA性能。其核心创新在于将场景元素表示为3D高斯分布,通过均值、协方差和权重精确描述物体位置、形状和置信度,相比传统BEV方法具有更强的空间建模能力。文章详细介绍了GaussianBeV的原理、环境配置、训练推理流程及其在自动驾驶和城市3D重建中的应用,并讨论了优化方向和未来发展趋势。该方法在nuScenes等数据集上表现出色,为BEV分割任务提供了新的解决方案。

m0_71589036的博客 106

数据结构:二叉搜索树(BST)的基本操作

概述: 学习过数据结构的童鞋都应该知道,对树的操作是一些最基本的技能(本文是对后面要写B树、B-树、B+树的一个前导,已经熟悉的朋友可以跳过了)。而在树结构中,二叉树又是最基础的。虽然这些知识是比较基础的,不过对于BST的操作中,删除是一个相对比较麻烦的。这对于新手来说可能不太好理解,下面就以BST中节点的删除为主,其他操作为辅的策略来编写本篇文章。希望对你能有所帮助。 本文链接:...

weixin_30682127的博客 368

提交 ieee 手稿出现:Do not include the Reviewer PDF with my submission 怎么办

IEEE投稿Reviewer PDF选项说明 投稿时出现的"Do not include the Reviewer PDF with my submission"选项控制是否附带评审专用PDF文件。Reviewer PDF是系统自动生成包含所有投稿材料的完整PDF,用于同行评审。建议保持默认不勾选状态,除非确认编辑部不需要该文件,否则可能影响审稿流程。勾选表示不附带此PDF,不勾选则会正常生成并提交该评审文件。

ZhangJiqun&191cm&85kg 2182

还在纠结二层交换机和三层交换机的区别?这篇文章帮你讲明白!

你好,这里是网络技术联盟站,我是瑞哥。公众号后台有小伙伴想要写一篇文章具体介绍一下二层交换机和三层交换机,此类的文章,之前写过几篇,今天瑞哥再写一篇,希望对大家有所帮助!

网络技术联盟站 4440

LeetCode 算法:验证二叉搜索树 c++

LeetCode 算法:验证二叉搜索树 c++

世界那么大,我想去看看~【随心更新,看世界去了😄】 1535

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Data structure-5 二叉搜索树 BST--Java语言实现

BST简介本文部分内容参考自此处。 Binary Tree : A data struc­ture in which we have nodes con­tain­ing data and two ref­er­ences to other nodes, one on the left and one on the right. Binary Tree con­sist of N

toseektruth的博客 487

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

LeetCode 450 - 删除二叉搜索树中的节点

在所有二叉搜索树(BST)的操作里,删除节点算是最容易让人写崩的一道题。 插入很好写,查找也没什么难度,但一到删除,就会遇到各种情况: 要删的节点是叶子节点怎么办 只有一个子节点怎么办 左右子树都存在又该怎么办 而这道 LeetCode 450,几乎把 BST 删除能遇到的所有坑都覆盖到了。

记录从移动端、鸿蒙到物联网与AI的完整实战与思考。专注于分享可复用的工程方案与产品思维,尤其深入鸿蒙生态与全栈开发。以十年工程与管理沉淀,为你提供清晰的技术纵深路径。坚信技术的价值在于“贯通”与“落地”。 868

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Java实现 二叉搜索树算法(BST)

Java实现 二叉搜索树算法(BST) 树是由节点和边构成,储存元素的集合。节点分根节点、父节点和子节点的概念。二叉树binary tree,则加了“二叉”(binary),意思是在树中作区分。 每个节点至多有两个子(child),left child & right child。二叉树在很多例子中使用,比如二叉树表示算术表达式。 其要求:每个节点比其左子树元素大,比其右子树元素小。 1、对

captian_900331的博客 468

LeetCode 449 - 序列化和反序列化二叉搜索树

「序列化和反序列化二叉搜索树」这道题,表面上是在考二叉树,其实真正的考点在于:你有没有真正理解 BST(Binary Search Tree)的性质。 如果把它当成普通二叉树去做,确实可以用层序遍历,加上 null 占位来解决,但那样字符串会很长,也完全没有利用 BST 的特性。而题目特意强调了一句:

记录从移动端、鸿蒙到物联网与AI的完整实战与思考。专注于分享可复用的工程方案与产品思维,尤其深入鸿蒙生态与全栈开发。以十年工程与管理沉淀,为你提供清晰的技术纵深路径。坚信技术的价值在于“贯通”与“落地”。 971

二叉搜索树(BST)

BST(二叉搜索树)

weixin_73497586的博客 145

二叉搜索树(BST)的c++实现,包括包括前序遍历,中序遍历,后序遍历,深度优先遍历,广度优先遍历,超级详细保姆级教程。

这里写自定义目录标题排序二叉树的c++实现新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 排序二叉树的c++实现 因为是一个较小的demo,并且本着方便初学者学习的原则,采用定义和实现在同一代码块,方便阅读。 首先定义一个

qq_42759932的博客 980

手写一个二叉搜索树(BST)

在上一篇写了一个简单的双向链表,难度是简简单单,这次来尝试二叉树,难度是也还行吧,多少有点夸张的成分了,不过对于大佬来说这些就是简简单单。难度列表:集合:有手就行链表:简简单单队列:基础操作二叉树:也还行吧平衡二叉树:普普通通红黑树:有点难度了堆/栈:难度提升了图:今天是高端局。......

安余生的博客 607

LeetCode 算法:二叉搜索树中第K小的元素 c++

LeetCode 算法:二叉搜索树中第K小的元素 c++

世界那么大,我想去看看~【随心更新,看世界去了😄】 1375

二叉搜索树找前驱和后继

输入N个数,找每个数的前驱和后继。如果没有前驱或后继,输出-1; 思路: 如果有右子树,则右子树的最小值为当前节点的后继;否则后继为当前节点往祖先搜索,第一次是左孩子的节点的父亲的值; 如果有左子树,则左子树的最大值为当前节点的前驱;否则前驱为当前节点往祖先搜索,第一次是右孩子的节点的父亲的值; #include "bits/stdc++.h" using namespac...

694

leetcode雕虫小技medium 450. Delete Node in a BST

题干:https://leetcode.com/problems/delete-node-in-a-bst/ 这题基本上没什么难度,只要记住一个原则即可,删某节点,调整的原则是将该节点同左子树的最大节点交换,或者同右子树的最小节点交换,才能维持BST属性,并且,如果这个左子树的最大节点不是叶子节点,或者右子树的最小节点不是叶子节点,则这个操作还需要递归地做下去。 另外注意一个小t...

xunileida的专栏 213

二叉搜索树增删改查实战:从原理到高并发安全代码

二叉搜索树(BST)是一种支持动态有序数据管理的基础数据结构,其核心原理在于左子树节点值小于根、右子树节点值大于根,从而保障中序遍历天然有序。这一特性赋予BST不可替代的技术价值:高效范围查询、路径回溯与第K小检索,远超哈希表的无序局限和B+树的磁盘IO依赖。在权限分级、商品类目、实时风控等典型业务场景中,BST常作为红黑树或AVL树的逻辑骨架,承担内存索引、滑动窗口统计与组织架构建模等关键任务。本文聚焦真实工程中的增删改查实现细节,涵盖指针安全、旋转平衡、线程防护与Python/C++双语言协同验证,直击

weixin_31236101的博客 266

二叉排序树BST

今天没花20分钟,就把BST的代码写出来了。毕竟寒假学了一遍,脑子里有影响,也很好理解。 只是出现了两个问题:   1.我在编写while循环的时候,就想到了新建叶子节点之后就break。但是,我又“机智”的想到,while(parent!=null)语句就可以检测循环的结束了,不关有没有新建叶子节点,都可以直接写parent=parent.child语句,进入下一个循环。因为如果没有新...

weixin_30551963的博客 160
上一篇: 不写周报才是一件很嘻哈的事
下一篇: MergeSort(Java)
kiwi小白
博客等级 码龄14年 153粉丝 154原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值