编程题及解题思路(2,原串翻转问题)
Posted youknow-zx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程题及解题思路(2,原串翻转问题)相关的知识,希望对你有一定的参考价值。
题目描述
请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量)。
给定一个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,原串翻转问题)的主要内容,如果未能解决你的问题,请参考以下文章
华为OD机试真题Python实现翻转单词顺序真题+解题思路+代码(2022&2023)