首页 > 其他 > 详细

编程题及解题思路(2,原串翻转问题)

时间:2019-08-27 16:49:29      阅读:64      评论:0      收藏:0      [点我收藏+]

题目描述

请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量)。

给定一个string iniString,请返回一个string,为翻转后的字符串。保证字符串的长度小于等于5000。

测试样例:
"This is nowcoder"
返回:"redocwon si sihT"
public static String reverseString(String iniString) {
        // write code here
         String Str = "";
        for (int i=iniString.length()-1;i>=0; i--) {
            
            Str=Str+iniString.charAt(i);
        }
        return Str;
    }

解题思路

这道题第一时间想到的就是遍历呗

将后边的值放到一个新数组中去然后toString就好了嘛。但结果却是打印出一串数组有逗号有括号的

于是就直接用字符串+号拼接吧,代码很简单没啥需要解释的。

效率:运行时间:219ms  占用空间30776k

这里说个题外话,也算科普一下,上个代码吧!

public static void reverseString2() {
        String Str=null;
        String Str1=Str+"大家好!";
        String Str2="我是一只猪!";
        String Str3=Str+Str2;
        System.err.print(Str1+"\\\\"+Str3);
    }

这个打印出来的结果是什么???

不妨猜测下

技术分享图片

意外不?

这曾经是华为的一道面试题

String 类型为null的时候,进行拼接运算,会把null转为String类型去拼接,它会做一个转型再执行拼接

先写到这,我再看看这道题还有什么其他解题思路。

编程题及解题思路(2,原串翻转问题)

原文:https://www.cnblogs.com/youknow-zx/p/11419183.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!