【发布时间】:2021-10-06 21:12:18
【问题描述】:
下面提到的代码用于反转 n 大小的字符串中的 k 个元素。第 3 行正在返回垃圾值。谁能帮我解决这个问题。
class Solution{
public String reverseStr(String s, int k){
char[] ch = s.toCharArray();
Stack<Character> st = new Stack();
int i;
for(i = 0; i < k; i++){
st.push(ch[i]);
}
i = 0;
while(!st.isEmpty()){
ch[i] = st.pop();
}
return ch.toString();
}
}
【问题讨论】:
-
“垃圾值”是什么意思?
-
举一个输入输出字符串的例子。
-
Answer by Jesper 是正确的,应该被接受以解决您的特定问题。但是,使用
char的此类代码已过时。char类型甚至无法表示由 Unicode 定义并由 Java 支持的一半字符。相反,学习使用 Unicode code point 整数。请参阅适用于代码点 run live at IdeOne.com 的代码版本。我的代码处理"dog????"的输入,而您的代码中断。
标签: java string data-structures stack