题目描述:
对一行给定的字符串进行反转输出,同时去除中间不满足条件的分隔符输入字符串:I am an 20-years out–standing @ * -stu- dent,去除分割符并反转之后,输出字符串(子字符串以一个空格隔开):dent stu standing out 20-years an am I
分割符描述如下:
1、除了字母、数字和 - 之外,其他的都是分割符,如输入字符串中的@ *等都属于分割符
2、20-years中的’-’ 表示的是连接符,即当‘-’两边都有字母、数字时,‘-’就属于连接符,否则属于分割符
3、out–standing中的‘–’表示分割符,应该拆分为两个字字符串out 和 standing
示例1:
输入:
I am an 20-years out--standing @ * -stu- dent
输出:
dent stu standing out 20-years an am I
解题思路:
母题来自于:剑指 Offer 58 - I. 翻转单词顺序
本质上仍然是单词翻转,如果按照上题的解法,也可以通过50%的测试用例,剩下的就是本题在母题的基础之上加上了一些额外的规则:
- 规则1: – 符号用于分隔两个单词,效果等同于空格。 <