实现字符串倒序并输出
继续来看一个字符串操作的编程面试题。题目是给定一个字符串,实现翻转并输出,例如“abcd”,翻转后效果变成“dcba”。
分析:
如果题目没有限制不能使用Java JDK自带API,那么我们第一个要想到的就是StringBuilder的reverse()方法,当然集合类也有这个方法,为了考虑性能,和不大材小用,这个时候就不考虑集合的方法。如果是限定不能使用JDK API,那么基本就有利用字符数组,倒序输出,还有利用临时变量,交换两头的值。
1.看看StringBuilder的方法
- package com.pharmacodia.uc.testsuites;
- public class Demo {
- public static void main(String[] args) {
- String st1 = "abcdefg";
- StringBuilder sb = new StringBuilder(st1);
- System.out.print(sb.reverse().toString());
- }
- }
2.看看使用字符数组,倒序输出
- package com.pharmacodia.uc.testsuites;
- public class Demo {
- public static void main(String[] args) {
- String st1 = "abcdefg";
- // 把字符串转换成字符数组
- char[] array = st1.toCharArray();
- // 定义一个新字符串,来保存翻转后字符串
- String reverse = "";
- // 循环,注意这里i的初始的值是length-1,也就是末尾那个
- for (int i = array.length - 1; i >= 0; i--)
- // 循环一次,就把末尾字母采用加号进行拼接
- reverse += array[i];
- System.out.print(reverse);
- }
- }
3. 直接利用加号拼接成新的字符串
- package com.pharmacodia.uc.testsuites;
- public class Demo {
- public static void main(String[] args) {
- String st1 = "abcdefg";
- // 定义一个空字符串,用来保存翻转后新字符串
- String reverse = "";
- for (int i = 0; i < st1.length(); i++) {
- reverse = st1.charAt(i) + reverse;
- }
- System.out.print(reverse);
- }
- }
上面的窍门在于:
reverse = st1.charAt(i) + reverse;
一定要让+ reverse放表达式的后面。一定不能简写成 reverse += st1.charAt(i)。上面第二种和第三种方法,一定要掌握,特别是第二种利用字符数组的思想,这个思想在很多类似字符串操作编程的题目中都有使用到。
实现字符串倒序并输出相关推荐
- 用python倒序输出一个字符串_Python字符串逆序输出的实例讲解
1.有时候我们可能想让字符串倒序输出,下面给出几种方法 方法一:通过索引的方法 >>> strA = "abcdegfgijlk" >>> st ...
- python解决字符串倒序输出
#python解决字符串倒序输出 def string_reverse(m):num=len(m)a=[]for i in range(num):a.append(m[num-1-i])#从最后一位的 ...
- 汇编程序:将字符串倒序输出
[任务] 程序功能:从键盘上输入一个字符串,以$结束,将字符串倒序输出(字符串不超过80个字符). 输入样例:abcd#1234 efg$ 输出样例:gfe 321#dcba 算法要求:逐个输入字符( ...
- 从键盘输入一个已确定长度的字符串。然后将这个字符串倒序输出
字符:tnndwhynotdrinkit(催逝员警告) VS无法运行,会报错a[n]中必须为常量 ------------------------------------------ 代码: #i ...
- 字符串倒序输出 递归和正常写法
字符串倒序输出,我们第一个想到的就是位置互换,将字符串的第一个位置,与字符串的最后一个位置互换,然后字符串的第二个位置,与倒数第二个位置互换,以此类推,到了中间,左边的位置大于右边的时候,那么这个循环 ...
- string字符串内容倒叙_Java实现字符串倒序输出的常用方法小结
本文实例汇总了Java实现字符串倒序输出的常用方法,分享给大家供大家参考.具体方法如下: 1. 最容易想到的估计就是利用String类的toCharArray(),再倒序输出数组的方法了. 实现代码如 ...
- C++ 递归算法将输入的字符串倒序输出
C++ 递归算法将输入的字符串倒序输出 直接上代码. #include <iostream> #include<string> using namespace std; //使 ...
- Java实现字符串倒序输出
Java实现字符串倒序输出 package Strin;//文件夹名称import java.util.Scanner;//导入的Scanner包public class Demo {//类的名称pu ...
- 字符串倒序函数 java_编写将给定字符串倒序输出的函数[Java笔试题]
面试的过程中经常会出现这样一个问题:写一个函数,将给定的字符串倒叙输出. 以下是StringReverseOpt定义静态方法: public class StringReverseOpt { /** ...
最新文章
- java 内存测试_请你说一下java jvm的内存机制
- 消息队列 策略_消息模型:主题和队列有什么区别?
- 互联网+激发连锁酒店竞争意识 OTA遭遇对抗危机
- Elasticsearch 5.2.x 使用 Head 插件连接不上集群
- 小程序使用sass_如何使用Sass Maps生成所有实用程序类
- SPRING IN ACTION 第4版笔记-第四章ASPECT-ORIENTED SPRING-008-带参数的ADVICE
- 关于Toast 详解
- hdu1385 最短路字典序
- 计算机毕设(附源码)JAVA-SSM基于JAVA宠物店管理系统
- AUTOCAD——标注打断
- “计算机无法访问,您可能没有权限使用网络资源”解决方法
- 电脑连接宽带,给手机开热点
- 安卓产品方案开发广告机案例
- Spring boot集成RabbitMQ(山东数漫江湖)
- android p 预览版壁纸,Android P预览版加入黑暗模式主题 iOS啥时候才能有呢?
- IDEA部署项目到tomcat运行成功但是页面404的两种原因
- c# 指定打开某个路径下的CMD_这招太厉害了,不用鼠标也可以打开指定文件
- 知到/智慧树——英语听说:实境主题与技能(参考答案)
- GOM登录器配置免费版生成图文教程
- 史上最全C++排序算法总结!!!(没有之一)