字符串倒序输出的五种方法

article/2025/9/10 21:12:43

1. 使用数组循环

 
  1. public static String array(String s){


  2. int length=s.length();


  3. char[] array=s.toCharArray();


  4. for(int i=0;i<length/2;i++){


  5. array[i]=s.charAt(length-1-i);


  6. array[length-1-i]=s.charAt(i);


  7. }


  8. return new String(array);


  9. }

2. StringBuffer的reverse方法

 
  1. public static StringBuffer buffer(String s){


  2. StringBuffer sb=new StringBuffer();


  3. sb.append(s);


  4. return sb.reverse();


  5. }

3. StringBuffer的循环

 
  1. public static String buffer2(String s){


  2. int length=s.length();


  3. StringBuffer sb=new StringBuffer();


  4. for(int i=s.length()-1;i>=0;i--){


  5. sb.append(s.charAt(i));


  6. }


  7. return sb.toString();


  8. } //StringBuilder比StringBuffer快,但线程不安全

4.栈的后进先出

 
  1. public static String reverseByStack(String str) {


  2. if(str == null || str.length() == 0) {


  3. return str;


  4. }


  5. Stack<Character> strStack = new Stack<Character>();


  6. char[] chArray = str.toCharArray();


  7. for(Character ch: chArray) {


  8. strStack.push(ch);


  9. }


  10. int len = str.length();


  11. for(int i= 0; i< len; i++) {


  12. chArray[i] = strStack.pop();


  13. }


  14. return new String(chArray);


  15. }

5. 迭代完成

 
  1. public static String reverseByRecursive(String str) {


  2. if(str == null || str.length() == 0) {


  3. return str; }


  4. int len = str.length();


  5. if(len == 1) {


  6. return str;


  7. } else {


  8. return reverseByRecursive(str.substring(1))+ str.charAt(0);


  9. }


  10. }


▼往期精彩回顾▼

微服务为什么一定要用docker

Java生成二维码

了解一下Spring中用了哪些设计模式?这样回答面试官才稳

dubbo 面试18问

拜托!面试请不要再问我Spring Cloud底层原理

稳了!Java并发编程71道面试题及答案

【附答案】Java面试2019常考题目汇总(一)

这10道springboot常见面试题你需要了解下

JVM面试题
巧用这19条MySQL优化,效率至少提高3倍

640?wx_fmt=jpeg

长按关注,更多精彩


http://chatgpt.dhexx.cn/article/IRAWJvbw.shtml

相关文章

idea中git更新代码到本地之后自己写的代码不见了

今天在合并分支的时候不小心选错了合并选项&#xff0c;导致本地刚写的代码都没了 解决办法 1.找到本地历史记录 2.选择自己想要的版本 3.点击RevertSelection恢复

Git篇:使用Git将代码库更新到本地(完整版)

环境&#xff1a;Git已安装&#xff08;皮一下&#xff09; 新建一文件夹 右键&#xff0c;Git Bash Here git init 添加库 git remote add origin 想要更新的源码地址 将库里的代码下载到本地 git pull origin master 到此为止&#xff0c;第一次下载项目流程就结束了&am…

git 查看远程分支更新到本地,本地代码暂存,取出

一 、远程分支更新到本地 1.将一个项目更新到本地 git clone 项目地址 2.进入项目文件夹下 git branch 会显示 3. 在远端新建分支。 新建一个dev分支。大家合并的分支。再给每一个开发者建一个分支。比如我的jhj分支 4 .获取远端的分支&#xff0c;新建成功后在输入下边…

从远程仓库git更新(update)代码,显示更新成功,但是本地代码并没有改变

没有拉取更新成功的原因是本地有修改内容&#xff0c;解决方法如下&#xff1a; 1、在要更新的代码文件所在的文件夹&#xff08;含.git文件&#xff09;中打开gitBash&#xff0c;然后采用以下代码隐藏本地修改。 git stash结果如图&#xff1a; 2、选择IDEA中Git里面的upd…

git更新代码到本地后发现自己的代码不见了

解决办法&#xff1a; 利用webstorm的git插件恢复代码 然后选择你需要恢复的文件点击恢复按钮即可 可以双击文件查看要恢复的文件和本地文件的区别

GitHub上传本地代码/更新本地代码

上传本地代码 第一步&#xff1a;去github上创建自己的Repository&#xff0c;创建页面如下图所示&#xff1a; 红框为新建的仓库的https地址 第二步&#xff1a; echo “# aaa” >> README.md 注意&#xff1a;aaa是新创建的仓库名 第三步&#xff1a;建立git仓…

Git拉取上传更新代码

目录 一、将git上的项目拉取到本地 二、git提交更新代码 一、git上的项目拉取到本地 1.在本地创建一个文件夹 2.在本地文件夹中右键选择git bash here 3.在终端中输入克隆远程库的命令:git clone git上的项目地址 二、git提交更新代码 1.同步远程代码git pull origin mast…

使用Git将代码传送(更新或者下载到本地)到github/gitee

一.上传到Github 1.首先要下载git&#xff0c;正常下载就行了 2.下载git后&#xff0c;在终端输入git init&#xff1a; 如下&#xff1a;我需要将 这个文件夹中的程序上传到github。 那么就在这里输入git init 3.之后再输入git add . 4. 然后在输入git status&#xff0c;…

0801-2execjs安装

删除线格式 这个老哥的教程太靠谱了&#xff0c;我给他点了个赞 重装VNPY 之前安装的不知道为什么没有vnpy文件夹 感谢百度 要不然我重新安不上了 进入盘符 /d 感谢

execjs执行包含中文参数的JavaScript

抓取到了一段包含数据的JavaScript代码&#xff1a; import re import requestsheaders {"user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36","accept": &quo…

python运行execjs中出现编码问题

在破解豆瓣的window.__DATA__时&#xff0c;使用python的execjs执行js&#xff0c;会有这个错误&#xff1a; Exception in thread Thread-1: Traceback (most recent call last):File "E:\codes\python\lib\threading.py", line 917, in _bootstrap_innerself.run()…

解决execjs gbk编码错误

解决execjs subprocess中报错&#xff0c;UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xaf in position 1527: illegal multibyte sequence 问题描述 如果使用execjs执行含有中文的js文件&#xff0c;将会报错gbk无法解码文件的问题 报错如图所示&#xff1a; 解…

Python 使用execjs调用网页js 进行数据加密

最近做一个数据采集项目的时候需要自动采集网站的招投标数据 &#xff0c;随便打开一个网站 打开开发者模式&#xff0c;输入关键词&#xff0c;点击搜索&#xff0c;获得以下内容 可以看到请求链接和请求类型&#xff0c;请求类型Content-Type:是application/x-www-form-urle…

execjs的学习

execjs的学习 1.基本使用 pip install pyExecJs #安装模块 apt-get install nodejs # execjs模块基于node运行的,&#xff08;此方式是在Linux中使用 windows请安装node包&#xff09;import execjs js""" // 函数 function getnow(){var timestampnew Date()…

python3调用js的库之execjs

针对现在大部分的网站都是使用js加密&#xff0c;js加载的&#xff0c;并不能直接抓取出来&#xff0c;这时候就不得不适用一些三方类库来执行js语句 执行JS的类库&#xff1a;execjs&#xff0c;PyV8&#xff0c;selenium&#xff0c;node 这里主要讲一下execjs&#xff0c;一…

java基础知识复习(上半)

java基础知识复习 java为什么被发明&#xff1f; Green项目的确立&#xff0c;应用于像电视盒一样的消费类电子产品&#xff0c;语言本身本身中立。java的三大版本&#xff1f; javaSE的定位在于客户端&#xff0c;只要用于桌面应用软件的编程。 javaME的定位在于嵌入式系统…

go学习笔记接口部分

Go学习笔记 接口接口定义方法练习 11.1 simple_interface.go&#xff1a;练习 11.2 interfaces_poly2.go&#xff1a; 接口嵌套接口如何判断接口类型方法一varI.(T)方法二type-switch练习 11.4 simple_interface2.go&#xff1a; 测试一个值是否实现了某个接口接口方法设计的注…

多设备monkey测试工具_基于Tkinter GUI操作

V1.0版本 先看下效果吧&#xff1a; 简单的介绍下&#xff1a; 1.设备列表区域&#xff1a;用于展示当前连接的所有设备 2.monkey参数区域&#xff1a;用于显示即将执行的monkey参数 3.日志区域&#xff1a;用于显示必要日志&#xff08;其实没啥卵用&#xff0c;就是看着高…

Python日常小技巧(持续更新中)

目录 快速定位元组内容对字典进行排序json的获取(dumps,dump,loads,load)查找字典中相同的key统计列表中元素的个数字典按输入顺序输出历史记录的存储对有多个分割符的字符串进行分割对文件中的时间格式进行转换 字符串的居中&#xff0c;左右对齐列表并行/串行计算字符串判断是…

Flink 学习三 Flink 流 process function API

Flink 学习三 Flink 流&process function API 1.Flink 多流操作 1.1.split 分流 (deprecated) 把一个数据流根据数据分成多个数据流 1.2 版本后移除 1.2.分流操作 (使用侧流输出) public class _02_SplitStream {public static void main(String[] args) throws Excep…