首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

算法-反转字符串反转单词

题目: 将字符串内容进行倒置,比如 I like beijing. 经过函数后变为:.gnijied ekil I。...解题思路: 首先题目说的很明确,就是反转字符串,不是打印,也不是创建一个新的字符串,而是改变原数据,最简单的思路就是将第一个字符和最后一个交换,第二个和倒数第二个交换,依次循环,函数可以返回一个标志位...arr[after] = arr[before]^arr[after] ; arr[before] = arr[before]^arr[after]; } } 反转字符串的问题还可以有一些变体...,比如反转一句话中的单词: 题目: 将字符串内容单词进行倒置,比如 I like beijing....解题思路: 单词的定义是认为有空格隔开的子串,在之前我们已经将字符串变成.gnijied ekil I,如果在这个基础上再把每个单词用同样的方法换过来,就实现了beijing. like I。

1.3K80

Java实现字符串单词反转

一.方法一 思想: 1.首先将字符串转换成字符数组,方便索引字符。...2.反转整个字符数组 3.反转每个单词单词是如何划分的:维护一个单词的起始索引和结束索引i,j,分别表示一个单词的起始下标和结尾下标,对这个区间的字符数组进行反转。...public static void reverse(char[]arr,int i ,int j) { //每个单词首位交换 while (i < j){ swap(arr..., j-1); i = j; } System.out.println(a); } 二.方法二 思想: 1.使用String的split方法,空格字符当分隔符,切割字符串存入一个字符串数组...2.反转整个输入 3.遍历数据,拼接字符串,当不是最后一个元素时,中间添加空格 public static void main(String[] args) { String s = "hello

48810
您找到你想要的搜索结果了吗?
是的
没有找到

反转字符串中的单词

反转字符串中的单词 难度中等758收藏分享切换为英文接收动态反馈 给你一个字符串 s ,请你反转字符串单词 的顺序。 单词 是由非空格字符组成的字符串。...s 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。 注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。...返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。...所以这道题需要我们仔细的去琢磨 分三步进行操作 : 删除多余的空格 反转所有的字符串 反转字符串中的单词 删除多余空格 对于我们java选手来说,不需要去重定义String数组的大小,只需要用StringBuilder...reverseString(res,0,res.length() - 1); //反转部分字符串 int start =0,end =

8010

反转字符串中的单词

给你一个字符串 s ,请你反转字符串单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。...返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。 注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。...返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。...1: 输入:s = "the sky is blue" 输出:"blue is sky the" 示例 2: 输入:s = "  hello world  " 输出:"world hello" 解释:反转后的字符串中不能存在前导空格和尾随空格...示例 3: 输入:s = "a good   example" 输出:"example good a" 解释:如果两个单词间有多余的空格,反转后的字符串需要将单词间的空格减少到仅有一个。

22310

leetcode:557 反转字符串中的单词|||

思路:字符串先分割为什么分割? 因为后面要使用的函数都是数组的函数所以要。。。。。, 为什么使用的都是数组的函数? 因为字符串中没有办法可以反转的哈。...经过split过程了后的就是字符串的数组了(注意全部才是字符串数组,单独一个元素还是字符串哈),以空格为分割线,每一个都是字符串。 然后是map,为什么使用map?...因为这是字符串啊,数组才有方法反转的。 然后是反转,然后是转换成字符串,为什么一定要转换成字符串? 因为s本来就是字符串的呀,难道要给数组给他吗?是吧,兄弟们。...因为里面反转的都是一个一个单词,不是直接反转整个字符串数组啊啊A1 str.split("").reverse().join("")).join(" ") 因为给一个单词反转有什么用?...要给就给一个全部的s单词join(" ");字符串加空格才行嘛是吧。兄弟们。 返回。 完成。

1.3K10

【数据结构和算法】反转字符串中的单词

一、题目描述 给你一个字符串 s ,请你反转字符串单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。...返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。 注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。...1: 输入:s = "the sky is blue" 输出:"blue is sky the" 示例 2: 输入:s = " hello world " 输出:"world hello" 解释:反转后的字符串中不能存在前导空格和尾随空格...示例 3: 输入:s = "a good example" 输出:"example good a" 解释:如果两个单词间有多余的空格,反转后的字符串需要将单词间的空格减少到仅有一个。...倒序遍历字符串 s ,记录单词左右索引边界 i , j 。 每确定一个单词的边界,则将其添加至单词列表 res 。 最终,将单词列表拼接为字符串,去掉尾部空格,并返回即可。

14710
领券