天王盖地虎 雪碧两块五
python 太好用 以至于不会写代码
这问题人家不用 String 的,连题目都看不懂。能不能 “白话文” 点?
String str = "abcdefg";
StringBuilder result1 = new StringBuilder(str).reverse();
StringBuffer result2 = new StringBuffer(str).reverse();
同时附上原生的 reverse() 源码:
public AbstractStringBuilder reverse() {
boolean hasSurrogates = false;
int n = count - 1;
for (int j = (n-1) >> 1; j >= 0; j--) {
int k = n - j;
char cj = value[j];
char ck = value[k];
value[j] = ck;
value[k] = cj;
if (Character.isSurrogate(cj) ||
Character.isSurrogate(ck)) {
hasSurrogates = true;
}
}
if (hasSurrogates) {
reverseAllValidSurrogatePairs();
}
return this;
}
def reverse_string(origin_str):
if not isinstance(origin_str, str):
raise Exception("input should be string type!")
if len(origin_str) <= 1:
return origin_str
stack = list(origin_str)
new_stack = []
while True:
try:
new_stack.append(stack.pop())
except IndexError:
break
return "".join(new_stack)
def test_reverse_string():
origin_str = "abcdefg"
new_str = reverse_string(origin_str)
assert new_str == "gfedcba"
if __name__=='__main__':
test_reverse_string()
testerhome 也开始刷 leetcode 上的题目了么
有兴趣的社区小伙伴 可以在试试 json 格式的反转和 自定义数据内容 头尾一起反转:)<---头尾反转也会是每日面试题里面的。
var str = "TesterHome";
console.log( str.split("").reverse().join("") );
test = 'TesterHome'
reversed_str = ''
for i in reversed(test):
reversed_str += i
print(reversed_str)
就是字符串倒序排列呗?