编程题及解题思路(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)

LeetCode解题思路:344. Reverse String

求相关树变形题目持续更新

LeetCode刷题笔记-数据结构-day13

LeetCode刷题笔记-数据结构-day13

煎饼排序——选择排序的运用