String字符串反转

这道题在面试的时候被问过,在此给大家分享一下。方法一、通过StringBuiler的reverse()的方法,最快的方式。publicstaticStringreverseStringBuilder(Strings){StringBuildersb=newStringBuilder(s);Stringreverse=sb.reverse().t…

大家好,又见面了,我是你们的朋友全栈君。

这道题在面试的时候被问过,在此给大家分享一下。

方法一、通过StringBuiler的reverse()的方法,最快的方式。

public static String reverseStringBuilder(String s) {
    StringBuilder sb = new StringBuilder(s);
    String reverse = sb.reverse().toString();
    return reverse;
}

方法二、通过String的toCharArray()方法可以将字符串转换为字符数组,然后用一个空的字符串从后向前一个个的拼接成新的字符串。

public static String reverseCharArray(String s) {
    char[] array = s.toCharArray();
    StringBuffer reverse = new StringBuffer();
    for (int i = array.length - 1; i >= 0; i--) {
        reverse.append(array[i]);
    }
    return reverse.toString();
}

方法三、通过String类的charAt()的方法来获取字符串中的每一个字符,然后将其拼接为一个新的字符串。

/**
 * 该方法是通过charAt()方法获得每一个char的字符
 * i=0时获得第一个字符a然后赋值给reverse,此时reverse="a";
 * i=1时获得第二个字符b然后加上reverse再赋值给reverse,此时reverse="ba"; 以此类推
 */
public static String CharAtreverse(String s) {
    int length = s.length();
    String reverse = "";
    for (int i = 0; i < length; i++)
        reverse = s.charAt(i) + reverse;
    return reverse;
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126616.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux中setfacl命令,Linux命令之:setfacl和getfacl

    linux中setfacl命令,Linux命令之:setfacl和getfacl命令总结之:setfacl和getfaclacl:accesscontrollist,实现灵活的权限管理除了文件的所有者,所属组合其他人,可以对更多的用户设置权限acl生效顺序:所有者、自定义用户、自定义组、其他人1、首先我们查看man帮助文档说明[root@centos7sixijie]#mansetfacl根据man文档节选出来几个我们会经常用到的功能和选项加以说明:setfacl…

    2022年6月22日
    39
  • PHP中定义常量的区别,define() 与 const[通俗易懂]

    PHP中定义常量的区别,define() 与 const

    2022年2月9日
    50
  • 小程序:matlab解微分方程「建议收藏」

    functionf=ball_trajectory(t,y);g=9.81;pi=3.14159265;air_density=1.20;M=57.5*0.001;D=64.0*0.001;R=D*0.5;A=pi*R*R;Cd=0.507;ratio_Cl_to_S=0.5

    2022年4月16日
    43
  • linux 内核态与用户态_linux内核态和用户态通信

    linux 内核态与用户态_linux内核态和用户态通信创建于2013-04-13迁移自本人的百度空间——————————–1/内核态-&gt;用户态      在kernel module中调用printk是最简单的传递信息到用户空间的方法。 2/用户态-&gt;内核态      在linux中,用户对设备的操作往往被抽象为对文件的操作。利用这一特性,可以通过注册和实现伪字符设备…

    2026年1月16日
    2
  • Gitlab-CICD最简单明了的入门教程

    Gitlab-CICD最简单明了的入门教程CICD是什么?由于目前公司使用的gitlab,大部分项目使用的CICD是gitlab的CICD,少部分用的是jenkins,使用了gitlab-ci一段时间后感觉还不错,因此总结一下介绍gitlab的CICD之前,可以先了解CICD是什么我们的开发模式经历了如下的转变:瀑布模型->敏捷开发→DevOps(Development、Operations的组合词,是一组过程、方法与系统的统称)后来随着DevOps的兴起,出现了持续集成(ContinuousIntegration)、持续交付(Co

    2022年6月3日
    211
  • C语言再学习 — 段错误(核心已转储)

    参看:Linux下的段错误产生的原因及调试方法参看:Linux环境下段错误的产生原因及调试方法小结参看:维基百科–Segmentationfault参看:LINUX内核段错误调试详细指南精品培训PPT讲义一、什么是段错误?一旦一个程序发生了越界访问,cpu就会产生相应的保护,于是segmentationfault就出现了,通过上面的解释,段错误应该就是访问了不可访问的内存,这个内存区要

    2022年4月11日
    66

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号