博客
关于我
剑指offer之面试题58:翻转字符串
阅读量:324 次
发布时间:2019-03-04

本文共 1129 字,大约阅读时间需要 3 分钟。

面试题58:翻转字符串

题目一:翻转单词顺序

输入一个英文句子,翻转句子中单词的顺序,但单词内的顺序不变。为简单起见,标点符号和普通字符一样处理。例如,输入字符串"I am a student.",则输出"student. a am I"。

思路:

  1. 按照空格分割字符串。
  2. 将得到的字符串数组倒序输出。

代码实现:

package Question58;public class T01 {       public static void main(String[] args) {           String str = "  hello world!  ";        System.out.println(solve(str));    }    public static String solve(String str) {           String[] strs = str.trim().split(" ");        StringBuilder sb = new StringBuilder();        for(int i = strs.length - 1; i >= 0; i--) {               sb.append(strs[i]);            if(i != 0) sb.append(" ");        }        return sb.toString();    }}

题目二:左旋转字符串

字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。

思路:

  1. 旋转整个字符串
  2. 旋转后两位
  3. 旋转前面5位。

代码实现:

package Question58;public class T02 {       public static void main(String[] args) {           System.out.println(solve("abcdefg", 2));    }    public static String solve(String str, int n) {           String s = "";        for(int i = n; i < n + str.length(); i++) {               s += str.charAt(i % str.length());        }        return s;    }}

转载地址:http://ijjq.baihongyu.com/

你可能感兴趣的文章
mysql insert update 同时执行_MySQL进阶三板斧(三)看清“触发器 (Trigger)”的真实面目...
查看>>
mysql interval显示条件值_MySQL INTERVAL关键字可以使用哪些不同的单位值?
查看>>
Mysql join原理
查看>>
MySQL Join算法与调优白皮书(二)
查看>>
Mysql order by与limit混用陷阱
查看>>
Mysql order by与limit混用陷阱
查看>>
mysql order by多个字段排序
查看>>
MySQL Order By实现原理分析和Filesort优化
查看>>
mysql problems
查看>>
mysql replace first,MySQL中处理各种重复的一些方法
查看>>
MySQL replace函数替换字符串语句的用法(mysql字符串替换)
查看>>
mysql replace用法
查看>>
Mysql Row_Format 参数讲解
查看>>
mysql select, from ,join ,on ,where groupby,having ,order by limit的执行顺序和书写顺序
查看>>
MySQL Server 5.5安装记录
查看>>
mysql server has gone away
查看>>
mysql slave 停了_slave 停止。求解决方法
查看>>
MySQL SQL 优化指南:主键、ORDER BY、GROUP BY 和 UPDATE 优化详解
查看>>
MYSQL sql语句针对数据记录时间范围查询的效率对比
查看>>
mysql sum 没返回,如果没有找到任何值,我如何在MySQL中获得SUM函数以返回'0'?
查看>>