黑马程序员___java实现字符串反转

                                                                ----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------

问题:

给一个字符串,比如 “I love china”, 把字符反转后变成 “china love I”

思路:

先把字符串从第一个字符与最后一个字符对换,第二个字符和倒数第二个字符对换,这样,我们就把每一个单词位置互换了。但是我们要求单词里面字符的顺序是不能变的,所以,我们要把每一个单词里面的字符从头到尾对换一下。这样就可以得到我们想要的字符串了。

实现:

因为这里两次都会用到字符反转,所以我们就单独写一个swap的方法出来。我们对每个单词进行发转的时候,需要记录每个单词的起始点和结束点,对于第一个单词,起始点是0,最后一个单词,结束点是string.length() - 1。而中间的单词,开始点和结束点是空格的位置。

方法一:

  1. public class StringReverse {  
  2.       
  3.     public void swap(char[] arr, int begin, int end) {  
  4.         while(begin < end) {  
  5.             char temp = arr[begin];  
  6.             arr[begin] = arr[end];  
  7.             arr[end] = temp;  
  8.             begin++;  
  9.             end--;  
  10.         }  
  11.     }  
  12.       
  13.     public String swapWords(String str) {  
  14.         char[] arr = str.toCharArray();  
  15.         swap(arr, 0, arr.length - 1);  
  16.         int begin = 0;  
  17.         for (int i = 1; i < arr.length; i++) {  
  18.             if (arr[i] == ' ') {  
  19.                 swap(arr, begin, i - 1);  
  20.                 begin = i + 1;  
  21.             }  
  22.         }  
  23.         swap(arr, begin, arr.length - 1);  
  24.         return new String(arr);  
  25.     }  
  26.       
  27.     public static void main(String[] args) {  
  28.         String str = "I";  
  29.         System.out.println(new StringReverse().swapWords(str));  
  30.     }  
  31.   
  32. }  

方法二:

 

  1. public class Main {  
  2.   
  3.     public static void main(String[] args) {  
  4.         Scanner sc = new Scanner(System.in);  
  5.           
  6.         String str = sc.nextLine();  
  7.           
  8.         String[] sArr = str.split(" ");//I love java  
  9.           
  10.         List<String> list = new ArrayList<String>();  
  11.           
  12.         list = Arrays.asList(sArr);  
  13.           
  14.         Collections.reverse(list);  
  15.           
  16.         for(String word:list){  
  17.             System.out.print(word+" ");  
  18.         }  
  19.     }  
  20. }  

如果改一下题目的话,直接反转字符串,例如“abcd”,输出"dcba",

 

 

当然了方法很多,这里我提供一个jdk自带的方法,比较简单

 

 

  1. public static String reverse(String str){  
  2.         return new StringBuilder(str).reverse().toString();  
  3.     }  

 

 

  1.     public void test09() {  
  2.         String str = "hello";  
  3.   
  4.         for (int i = str.length() - 1; i >= 0; i--) {  
  5.               
  6.             char c = str.charAt(i);  
  7.               
  8.             System.out.print(c);  
  9.         }  
  10.     }  

 

转载于:https://www.cnblogs.com/miaozy/p/3677191.html

保姆级教程:用ArcGIS Pro搞定云南30米分辨率DEM地形图(附数据下载与配色方案) 本文提供了一份详细的ArcGIS Pro教程,指导用户如何制作云南30米分辨率DEM地形图。从数据下载、预处理到镶嵌与质量控制,再到地形分析与可视化,全流程覆盖云南复杂地形的处理要点。特别包含数据下载链接、配色方案及常见问题解决方案,适合地理信息分析新手和专业人士。 阅读详情

相关推荐

给汽车芯片做‘体检’:手把手教你用IEC62380和SN29500估算功能安全失效率

本文详细介绍了如何使用IEC62380和SN29500标准估算汽车芯片的功能安全失效率,涵盖基础认知、方法论对比及实战计算。通过具体案例演示两种标准的应用流程,帮助工程师准确评估半导体器件的可靠性,确保符合ISO 26262标准要求。

weixin_28725553的博客 458

JavaScript两种方法实现字符串顺序颠倒

给大家一个任意的字符串,然后实现把里面的字符串顺序颠倒。例如给你"abcde",最后你要得到"edcba"。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title></title> </head> <body> <script> function Reverse(s

qq_44744450的博客 4513

华为海思IC前端中后端(COT&XPU)岗位笔试机考题

华为海思COT和XPU部门IC前端,IC中端,IC后端岗位笔试真题分享

weixin_37584728的博客 3361

java实现字符串反转

问题: 给一个字符串,比如 “I love china”, 把字符反转后变成 “china love I” 思路: 先把字符串从第一个字符与最后一个字符对换,第二个字符和倒数第二个字符对换,这样,我们就把每一个单词位置互换了。但是我们要求单词里面字符的顺序是不能变的,所以,我们要把每一个单词里面的字符从头到尾对换一下。这样就可以得到我们想要的字符串了。 实现: 因为这里两次都会用到字符反...

gaofen100 434

PID调参避坑指南:为什么你的电机总是震荡?从比例带积分到微分实战解析

本文针对电机控制中常见的震荡问题,提供了一份PID调参实战指南。文章深入解析了比例(P)、积分(I)、微分(D)三个参数对系统稳定性的影响,揭示了比例增益过大是导致震荡的关键原因之一,并给出了从纯比例调试到引入积分、微分的系统化调参流程与避坑要点,帮助工程师快速实现电机平稳、精准的控制。

weixin_28223453的博客 456

植物叶绿体基因组分析全攻略:从共线性到密码子偏好性

本文全面解析植物叶绿体基因组分析流程,从共线性分析到密码子偏好性研究。详细介绍了叶绿体基因组结构特征、测序数据获取与质量控制、基因组组装与注释方法,以及比较基因组学和进化分析技术。特别关注IR区边界变异分析和选择压力评估,为植物系统发育研究和物种鉴定提供实用指南。

weixin_28475533的博客 221

字符串翻转并实现“i love china“--“china love i“

整体倒置,再单个单词倒置,while实现,for更简洁一点。

m0_61633791的博客 790

RIGOL DS1102E示波器新手必看:从开机到捕获第一个波形的5分钟指南

本文为RIGOL DS1102E示波器新手提供了一份快速上手指南。内容涵盖从开机、探头校准到捕获第一个波形的完整流程,重点解析了触发设置、自动测量等核心操作,并指出了探头衰减比设置等常见误区,帮助用户快速掌握这款经典数字示波器的基本使用方法。

dream的博客 739

一道经典面试题“I love china”的实现

来看一道经典的面试题,题目要求如下: 给定一个字符串“I love china”,编写程序完成以单词为单位的逆序,如“china love i”,并要求不允许使用第三方变量保存数据,但可以使用辅助指针变量等。 这道题主要考察字符串的遍历查找以及分类处理,首先确定算法,我们可以这样处理字符串: 将字符串整体导致:“anihc evol i” 然后再次遍历字符串,将每个单词倒置:“china lov...

我是黑核阿泽:外表黑盒,内藏智造宇宙。专注给硬件装“大脑”,让它们像人一样思考干活。这里记录嵌入式AI、智能体与机器人的进化。不堆术语,只分享如何让万物从死物变活物。一起见证硬件觉醒的奇妙时刻! 4602

高速PCB设计中的一些常用规则

目前,高速PCB产品设计中,高速接口的应用日益普及,对于复杂的设计而言,高速走线就如同“蜘蛛网”一样密布在PCB各处,因此,在进行PCB检查及评审时,必要的高速PCB设计经验法则及规则是工程师开展工作必不可少的知识储备。

一只豌豆象的博客 3414

QMK固件OLED显示屏配置教程:从零开始实现个性化键盘显示(实操部分)

本教程详细介绍了如何从零开始配置QMK固件的OLED显示屏,实现个性化键盘显示。首先,文章解释了OLED显示屏的基本概念及其在键盘中的应用,并介绍了I2C和SPI两种通信方式。接着,教程逐步指导用户如何在QMK固件中启用OLED功能,包括在rules.mk中启用OLED、在halconf.h和mcuconf.h中配置I2C功能,以及在config.h中设置I2C和OLED参数。最后,教程展示了如何在keymap.c中编写代码,实现OLED显示内容,并提供了进阶定制功能,如显示当前层信息、按键状态和QMK L

Despacito0o的博客 580

字符串反转python_Python将字符串进行反转

将字符串"ilovechina"进行反转先来个错误的例子!!!"ilovechina".reverse() #直接将字符串用reverse异常,reverse适用于list(列表)Traceback (most recent call last):File "/home/lfg/virtua/spider/lib/python3.6/site-packages/IPython/core/inter...

weixin_39986169的博客 277

Jetson Nano 实战指南:深度学习环境配置与 YOLOv5 边缘端部署解析

Jetson Nano是NVIDIA推出的嵌入式AI开发板,凭借其强大的GPU计算能力和完善的软件生态系统,成为边缘AI部署的理想平台。本教程源于作者团队参加2024中国机器人大赛暨RoboCup机器人世界杯中国赛机器人先进视觉3D识别赛道的实战经验,是一份经过验证的环境部署指南。

FJN110的博客 152

黑马程序员——字符串

Ctrl+alt+t选中代码然后idea会提示用什么去包围 Ctrl+alt+v自动生成左边 ctrl+d自动复制上一行的代码 字符串的遍历在写代码的时候不可以str.fori生成 要用str.length().fori进行生成 ////****fori是正遍历 反转遍历要用forr 选中遍历用快捷键shift+f6是快捷修改 首先看到方法两个字就要考虑三个问题 第一:我要干嘛?———*** 第二:我干这件事需要什么才能完成?——*** 第三:我干完了是否要把结果返回?——*** 循

m0_73476251的博客 1295

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

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

黑马程序员——实现字符串反转

----------------------    android培训    java培训   期待与您交流!    ----------------------                            //实现字符串翻转 /* * 将字符串转换成数组,将数组翻转,再将数组转换成字符串 */ public static void toReverse(Strin

知识搬运工,资料任你拿,包括书籍、电影、电视剧、网站、软件等,VX公人人人号:向前书局 839

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

黑马程序员_日记23_字符串反转练习

——- android培训、java培训、期待与您交流! ———-   /* 将一个字符串进行反转。将字符串中指定部分进行反转,”abcdefg”;abfedcg分析功能: 1 功能的结果,反转指定字符串——————–返回值是String类型。 2 有没有未知变量–指定字符串,起始位,结束位。–参数类型是(String str,int start,int end)思路:因为要指定部分字

itheima_1llt的专栏 486

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

字符串反转-课后程序(JAVA基础案例教程-黑马程序员编著-第九章-课后作业)

在使用软件或浏览网页时,总会查询一些数据,查询数据的过程其实就是客户端与服务器交互的过程。用户(客户端)将查询信息发送给服务器,服务器接收到查询消息后进行处理,将查询结果返回给用户(客户端)。本案例要求编写一个模拟客户端与服务端交互的程序,客户端向服务器传递一个字符串(键盘录入),服务器将字符串反转后写回,客户端再次接收到的是反转后的字符串。本案例要求使用多线程与TCP通信相关知识完成数据交互。

芝麻的博客 916

零基础JAVA——黑马程序员课程笔记

JAVA语言发展史 JAVA跨平台原理

King_ZACC的博客 2万+

黑马程序员——字符串2:练习

4个String类练习

axr1985lazy的专栏 428

Java-黑马Java学习练习-day10字符串

用户登录;遍历字符串;统计字符串次数;字符串拼接;字符串反转;金额转换;手机号屏蔽;身份证信息查看;敏感词替换;对称字符串;拼接字符串;罗马数字;调整字符串

Kox_233的博客 2073

【学习笔记】黑马程序员Java课程学习笔记(更新至第12章---集合)

黑马课程Java学习笔记(1. Java概述)1. Java概述1.1 Java语言发展史1.2 Java语言跨平台原理1.3 JRE和JDK1.4 JDK的下载和安装 1. Java概述 1.1 Java语言发展史 Java语言是美国Sun公司(Stanford University Network)在1995年推出的计算机语言, 2009年Oracle甲骨文公司收购Sun公司。Java之父:詹姆斯·高斯林(James Gosling)。 1.2 Java语言跨平台原理 Java可以在任意操作系统上运行,

weixin_47626968的博客 3万+

黑马程序员--java字符串

-------android培训、java培训、期待与您交流!     ----------  »知识点总结 1. 对于String对象的相等性判断来说,请使用equals()方法,而不要使用==。  2. String是常量,其对象一旦创建完毕就无法改变。当使用+拼接字符串时,会生成新的String对象,而不是向原有的String对象追加内容。  3. 字符串池,用得是享元模式(li

w1h2b1111的专栏 565

黑马程序员Java上篇笔记

对于该用法的解释:当子类继承父类时,父类所有的成员变量子类都会有,那么父类的构造方法就适用于子类,所以子类不用将父类的构造方法照搬,可以直接在构造方法的中括号中写一个super();对他的父类进行构造,父类的成员变量被赋值后(如果有带参构造的情况下)子类的成员变量也对应的改变,这样就相当于对子类进行了构造,这样处理可以简化代码。空参构造一个字符串容器的类。

2301_79860963的博客 1539

黑马程序员全套Java教程_Java基础教程_API(十四)

1、API 1.1 API概述 API(Application Programming Interface):应用程序编程接口。 比如说,编写一个机器人程序去控制机器人踢足球,程序需要向机器人发出向前跑、向后跑、射门、抢球等各种命令。机器人厂商一定会提供一些用于控制机器人的接口类,这些类中定义好了操作机器人各种动作的方法。其实,这些接口类就是机器人厂商给应用程序编程的接口,大家把这些类称为API。 Java API:指的就是JDK中提供的各种功能的Java类。这些类将底层的实现封装了起来,我们不需要关心

qq_44009317的博客 870

黑马程序员——String(字符串练习)

黑马程序员——String(字符串练习)

qq314777895的专栏 627

黑马程序员: String练习题

------- android培训、java培训、期待与您交流! ---------- 下面是毕老师给出的四道String 练习题: /* * Test the String exercises. * 1: 模仿trim方法 public String trim() * 2: 实现字符串反转;将字符串中指定部分反转 * 3: 获取一个字符串在另一个字符串中出现的次数 * 4:

MAOFULI的专栏 729
下一篇: 黑马程序员___Java静态方法,静态变量,初始化顺序
alg89136
博客等级 码龄12年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值