[ 二叉树 ] 验证二叉搜索树

最大二叉树 合并二叉树 二叉搜索树中的搜索 验证二叉搜索树 给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下:二叉树的根是数组中的最大元素。左子树是通过数组中最大值左边部分构造出的最大二叉树。右子树是通过数组中最大值右边部分构造出的最大二叉树。通过给定的数组构建最大二叉树,并且输出这个树的根节点。 阅读详情

98. 验证二叉搜索树 - 力扣(LeetCode) (leetcode-cn.com)

验证二叉搜索树

递归

  • 二叉搜索树的**中序遍历结果是严格递增**的
  • 测试用例中最小取到了LONG_MIN
class Solution {
public:
    // 对于第一次比较,我们需要找到一个测试用例中的最小值
    long max = LONG_MIN;
    bool isValidBST(TreeNode* root) {
        if (!root) return true;
        
        // 中序遍历
        bool left = isValidBST(root->left);
        if (max < root->val) max = root->val;
        else return false;
        bool right = isValidBST(root->right);
        return left && right;
    }
};

非递归

  • 二叉搜索树的**中序遍历结果是严格递增**的
  • 测试用例中最小取到了LONG_MIN
class Solution {
public:
    bool isValidBST(TreeNode* root) {
        if (!root) return true;
        stack<TreeNode*> stk;
        stk.push(root);
        // 比较值
        long max = LONG_MIN;
        while (!stk.empty()) {
            TreeNode* node = stk.top();
            stk.pop();
            if (node) {
                if (node->right) stk.push(node->right);
                stk.push(node);
                stk.push(nullptr);
                if (node->left) stk.push(node->left);
            }
            // 只修改处理部分即可
            else {
                node = stk.top();
                stk.pop();
                if (node->val <= max) return false;
                max = node->val;
            }
        }
        return true;
    }
};
【论文复现】Applied Intelligence 2025:Auto-PU正例无标签学习的自动化实现与GPT-5.4辅助编程实战 正例-无标签学习(Positive-Unlabelled Learning, PU Learning)是机器学习领域处理"只有正例标签,负例完全未知"场景的重要技术。本文基于2025年发表于Applied Intelligence的最新研究成果,详细阐述如何从零复现Auto-PU框架(包含GA-Auto-PU、BO-Auto-PU、EBO-Auto-PU三种优化器)。 阅读详情

相关推荐

保姆级教程:用Python 3.10和Ollama在Windows上搞定LightRAG本地部署(附环境配置避坑指南)

本文提供了一份详细的Windows系统下LightRAG本地部署指南,涵盖Python 3.10环境配置、Ollama模型服务安装到LightRAG核心组件部署的全流程。特别针对Windows平台常见问题提供解决方案,帮助开发者快速搭建高效的检索增强生成(RAG)系统,实现专业领域知识的智能检索与整合。

weixin_28725407的博客 490

【LeetCode】98. 验证二叉搜索树

思路 这道题乍一看,觉得挺简单,但是有一个点比较容易忽略,例如下面这个用例 5 / \ 1 4 / \ 3 6 对于3这个节点,虽然满足小于4,但是作为5的右子树,其所有子节点都应该大于5,因此这棵树不是二叉搜索树。 很自然想到采用递归的方式 通过记录上下限的方式,保证子树上所有节点满足要求,递归至右子树时,更新下限,递归至左子树时更新上限。 最...

一路前行 197

【windows】【系统还原】亦是美kms执行一键关闭defender 之后,windows defender 被卸载了,无论如何都打不开

还是执行 都没有明显效果 那么,我最后是怎么解决得呢? 一、打开控制面板(任务栏搜索kzmb)

weixin_41899098的博客 6908

DAY19 最大二叉树 合并二叉树 二叉搜索树中的搜索 验证二叉搜索树

给定一个不含重复元素的整数数组。通过给定的数组构建最大二叉树,并且输出这个树的根节点。示例 :提示:给定的数组的大小在 [1, 1000] 之间。这道题,我的评价是,如果你学了用前序和中序或者用中序和后序构造二叉树的话,这道题做起来应该是得心应手的,难点可能在构造左右子树,需要将最大值左右边分别放入两个数组中。

MOMO_114514的博客 539

测试用例经典练习之微信发红包测试用例

微信发红包测试用例

ZCYaiCLX3344的博客 1万+

Windows 11 系统部署 OpenClaw 完整指南:从零到一的 AI 助手搭建

OpenClaw(昵称“小龙虾”)是一款开源 AI 代理工具,定位为“AI 指挥官”,能够接收指令、调用工具并自动化处理任务。它支持对接国内外多款大模型,所有数据本地存储,兼顾实用性与安全性。本文将详细介绍在 Windows 11 系统上部署 OpenClaw 的完整流程。OpenClaw 在 Windows 11 上的部署虽然有一定技术门槛,但按照本文的步骤操作,大多数用户都能顺利完成安装。环境准备是基础:确保 Node.js ≥22 版本,使用管理员权限操作安装方式灵活选择。

weixin_41484939的博客 800

热门面试题第15天|最大二叉树 合并二叉树 验证二叉搜索树 二叉搜索树中的搜索

其实这个最大二叉树的定义和二叉搜索树非常像,我们能想到的是先找到里面最大的节点,将其放在根节点,然后去它的左子树里面寻找,接着去右子树里面寻找,属于前序遍历。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。左中右,中序遍历找到最左边,最小的节点值,然后一层一层返回去判断当前节点值是否大于pre,一旦有一个节点不满足,就会返回false 然后向上返回回去。当根节点为空或者我们找到了对应值的节点的时候,我们直接返回就行。

xuziang13的博客 1236

SpringBoot+Vue企业级开源聚合支付系统!支持30+款支付平台,只需配置商户证书就能直接使用!

一款开源SAAS支付系统推荐

技术Z先生的博客 2720

Day20.合并二叉树、验证二叉搜索树

代码随想录,Day20

izwmain的博客 281

物联网开发笔记(34)- 使用Micropython开发ESP32开发板之控制步进电机(28BYJ-48)

使用Micropython开发ESP32开发板之控制步进电机(28BYJ-48)

zhusongziye的博客 1万+

SAP-ABAP:SAP创建CDS视图(SQL语句创建)实例详解

通过Eclipse和ADT创建CDS视图是SAP开发中的一项重要技能。CDS视图不仅简化了数据建模,还提供了高性能和灵活性。掌握CDS视图的开发和使用,可以帮助你更好地支持SAP S/4HANA和Fiori应用的开发。

baidu_35680696的博客 1825

day20 最大的二叉树 合并二叉树 二叉搜索树中的搜索 验证二叉搜索树

两棵树相同位置的节点视为重叠,如果两棵树的两个节点重叠,将这两个节点的值相加作为新节点的值,若不重叠,则将不是NULL的节点作为新的节点,从而合成一颗新二叉树。根据不重复的整数数组nums构建最大的二叉树 ,根节点是数组中的最大值,最大值左边的子数组构建左子树,最大值右边的子数组构建右子树。将二叉树中的每个元素按照中序遍历(左中右)的顺序,放入到数组中,然后判断数组是否是单调递增的即可。在二叉搜索树中找到等值于val的节点,返回以该节点为根的子树,若不存在,则返回NULL。代码(返回改变后的root1)

qq_43773652的博客 1772

EEMD算法原理及应用

本博客主要概括EEMD算法的背景、原理以及应用,利用EEEMD对信号进行分解,然后选择有用的IMF分量进行叠加以完成信号的重构,从而实现对信号降噪。本文配套的源代码见文中链接,可供大家免费下载。

总结论文中的算法并给出论文的复现代码 4万+

Day20:最大二叉树,合并二叉树,二叉搜索树中的搜索,验证二叉搜索树

最大二叉树,合并二叉树,二叉搜索树中的搜索,验证二叉搜索树

QielinRan的博客 234

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【二叉树】98. 验证二叉搜索树

题目: 给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 题解: 1.递归-中序遍历 中序遍历下,输出的二叉搜索树节点的数值是有序序列。 验证二叉搜索树,就相当于变成了判断一个序列是不是递增的了。 步骤: 1.确定递归函数 参数:要定义一个long的全局变量,用来比较遍历的节点是否有序,因为后台测试数据中有int最小值,所以定

weixin_43955488的博客 137

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【day20】最大二叉树,合并二叉树,二叉搜索树中的搜索,验证二叉搜索树

二叉搜索树

酷酷的小邪博客 203

深度学习工具包 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")

代码随想录80——二叉树21——验证二叉搜索树

🔥本篇概览:数据结构与算法 || 详细讲解了二叉树的利用递归与二叉树的性质来实现验证二叉搜索树的算法。🌈⭕🔥

做一个善良的人,做好自己的事,如果愿意,再发一份光。 1014

【Day20】代码随想录二叉树之最大二叉树、合并二叉树、二叉搜索树钟的搜索、验证二叉搜索树

二叉搜索树是一个有序树:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉搜索树这就决定了,二叉搜索树,递归遍历和迭代遍历和普通二叉树都不一样。

格子格鸽的个人博客 408

Day15 | 654.最大二叉树 617.合并二叉树 700.二叉搜索树中的搜索 98.验证二叉搜索树

合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;本题还是采用递归法,创建一个空节点,先判断是否为空为空是二叉搜索树,与后一个节点的值作比较。先判断数组中是否含有元素,没有直接返回空,再判断是否只有一个元素,是的话直接构建节点。定义一个最大索引和最大值,通过循环判断,最大值在数组的哪个位置,找到最大值的索引。给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。递归参数:数组,左索引,右索引。构建以最大值为根节点的二叉树,然后开始向左递归,再向右递归。

q864508127的博客 678

验证二叉树是否为二叉搜索树

给定一个二叉树,判断其是否是一个有效的二叉搜索树。 力扣:98. 验证二叉搜索树

卜大爷的博客 2万+

【算法训练 day22 最大二叉树、合并二叉树、二叉搜索树的搜索、验证二叉搜索树】

依然采取前序遍历,这样好理解一点,依次遍历两个树,如果节点都不为空节点,那就创建一个新结点然后返回,如果任意节点为空,返回另一个不为空的节点。这道题我开始想不通的地方在于:如果一个节点为空另一个节点不为空,按照思路应该返回另一个不为空的节点,但是这时我理解不了如果直接返回,另一个不为空的节点后还有孩子节点该怎么办。这道题比较坑的是,在实现递归验证时,只专注于单个子树的平衡,没有放大到整个二叉树,实现上需要保存每一层父节点的值,这样就保证整体都是平衡的。需要注意的是,数组边界需要前后一致,比如左开右闭。

m0_67540113的博客 356

刷题计划day18 二叉树(七)【合并二叉树】【​二叉搜索树中的搜索】【验证二叉搜索树】

刷题计划day18 二叉树(七),二叉树共十期,加油!【合并二叉树】【​二叉搜索树中的搜索】【验证二叉搜索树】

weixin_72499901的博客 931

代码随想录算法训练营Day15 | Leetcode 654最大二叉树、617合并二叉树、700二叉搜索树中的搜索、98验证二叉搜索树

给你两棵二叉树: root1 和 root2。想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。返回合并后的二叉树。你需要在 BST 中找到节点值等于 val 的节点。返回以该节点为根的子树。给定一个不重复的整数数组 nums。给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。给定二叉搜索树(BST)的根节点 root 和一个整数值 val。返回 nums 构建的 最大二叉树。

叽里呱啦大王的博客 1458

617. 合并二叉树、700.二叉搜索树中的搜索、98. 验证二叉搜索树

617. 合并二叉树 题目描述: 给你两棵二叉树: root1 和 root2 。 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。 返回合并后的二叉树。 注意: 合并过程必须从两个树的根节点开始 解答: 首先来一个比较直白的思路,遍历两棵树,对比节点,创建一棵新树。 至于遍历方法,前中

清榎的博客 200

(JAVA)Leetcode 最大二叉树 二叉搜索树中的搜索 验证二叉搜索树

最大二叉树 给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下: 二叉树的根是数组中的最大元素。 左子树是通过数组中最大值左边部分构造出的最大二叉树。 右子树是通过数组中最大值右边部分构造出的最大二叉树。 通过给定的数组构建最大二叉树,并且输出这个树的根节点。 采用前序遍历 先构造中间节点 然后递归构造左子树和右子树 确定递归函数的参数和返回值 参数:存放元素的数组 数组的最左边 数组的最右边 返回值:返回该数组构造的二叉树的头结点 返回类型是指向节点...

JIE25的博客 228

Day|20 leetcode 654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树

给定一个不重复的整数数组构建最大二叉树,构建规则如下:1.根节点是最大值。2.在最大值左边的数用来构建左子树。3.在最大值右边的数用来构建右子树。示例 1:输入:nums = [3,2,1,6,0,5]输出:[6,3,5,null,2,0,null,null,1]给你两棵二叉树:想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会),如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值,否则,不为 null 的节点将直接作为新二叉树的节点。

m0_74583479的博客 216
上一篇: [ 二叉树 ] 二叉搜索树中的搜索
下一篇: [ 二叉树 ] 二叉搜索树的最小绝对差
Kalv1n
博客等级 码龄7年 35粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值