أفضل ما في الأمر هو أن كل ما تحتاجه هو أفضل ما يمكنك فعله:
معلومات المنتج:
import java.util.Stack;
فئة عامة StringReverse {
سلسلة ثابتة عامة عكس 1 (سلسلة ق) {
طول كثافة العمليات = s. length();
إذا (الطول <= 1)
العودة ق.
السلسلة اليسرى = s.substring(0, length / 2);
السلسلة اليمنى = s.substring(length / 2, length);
إرجاع عكسي 1 (يمين) + عكسي 1 (يسار) ؛
}
سلسلة ثابتة عامة عكسية 2 (سلسلة ق) {
طول كثافة العمليات = s. length();
سلسلة عكسية = "";
لـ (int i = 0; i < length; i++)
عكس = s.charAt(i) + عكس؛
عودة عكسية؛
}
سلسلة ثابتة عامة عكسية 3 (سلسلة ق) {
char[] array = s.toCharArray();
سلسلة عكسية = "";
لـ (int i = array.length - 1; i >= 0; i--)
عكس += صفيف[i];
عودة عكسية؛
}
سلسلة ثابتة عامة عكسية 4 (سلسلة ق) {
إرجاع StringBuffer(s).reverse().toString();
}
سلسلة ثابتة عامة عكسية 5 (سلسلة أصلية) {
char[] s = orig.toCharArray();
كثافة العمليات ن = طول - 1؛
int halfLength = n / 2;
for (int i = 0; i <= halfLength; i++) {
درجة الحرارة = s[i];
s[i] = s[n - i];
s[n - i] = temp;
}
إرجاع سلسلة (سلاسل) جديدة؛
}
سلسلة ثابتة عامة عكسية 6 (سلسلة ق) {
char[] str = s.toCharArray();
كثافة العمليات تبدأ = 0؛
int end = s. length() - 1;
بينما (البدء <النهاية) {
str[begin] = (char) (str[begin] ^ str[end]);
str[end] = (char) (str[begin] ^ str[end]);
str[begin] = (char) (str[end] ^ str[begin]);
ابدأ++;
نهاية--؛
}
إرجاع سلسلة جديدة (str)؛
}
سلسلة ثابتة عامة عكسية 7 (سلسلة ق) {
char[] str = s.toCharArray();
Stack<Character> stack = new Stack<Character>();
لـ (int i = 0; i < str.length; i++)
Stack.push(str[i]);
سلسلة معكوسة = ""؛
لـ (int i = 0; i < str.length; i++)
Reverse += stack.pop();
العودة معكوسة؛
}
}