如何在不使用内置函数的情况下反转字符串甚至不是charAt()? 我在接受采访时被问到这个问题并且无法找到解决方案。
我确定他并不意味着使用字符串缓冲区,他特别说没有内置函数,甚至不是CharAt()。
语言是java
答案 0 :(得分:1)
如何在不使用内置函数的情况下反转字符串
使用算法反向?我在这里假设c ++。
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main() {
string s = "Hallo";
reverse( s.begin(), s.end() );
cout << s << endl;
return 0;
}
打印“ollaH”
如果你的语言是JavaScript,它似乎也有一个反向的方法...
OP表示他正在使用java,在这种情况下this item会保留您正在寻找的答案:
答案 1 :(得分:1)
你可以通过字节数组反转String。
请注意,如果您使用其他角色, 你应该将char-set指定为getBytes(String)的参数。
这是我的解决方案&gt;&gt;
public class Main {
public static void main(String[] args) {
String string = "String";
byte[] byteArr = string.getBytes();
byte[] secondByteArr = new byte[byteArr.length];
for(int i = 0; i < byteArr.length ; i++){
secondByteArr[(byteArr.length - 1) - i] = byteArr[i];
}
System.out.println(new String(secondByteArr));
}
}
祝你好运:D
答案 2 :(得分:0)
我猜你可以将它转换为CharArray并从上到下转换为循环
String s = "abcdef";
char c[] = s.toCharArray();
for( int i = c.length -1; i>=0; i--)
System.out.print(c[i]);