java反转栈内的元素_java基础——字符串中的反转Reverse问题(面试必备)

由于研究了关于字符串(String)的问题,今年就在这里总结一下,首先说一下有关于面试,我想的是,需要一定的技能,比方说,大家想到这个反转问题,肯定能说上了,只不过是你说的一般人都知道,要想在面试中更胜一筹,就必须比别人更多知道一点,更多地还是我们的积累,而不单单为了面试,好了,不说这些废话了,只有征服自己,才是更大的赢家。。。

直奔主题,说一下关于在别人问到这个问题的时候,该如何去回答,我们需要一点一点就说,这样子会感觉到我们更有条理,也不会更早的忘记。。。

从简单的开始(就是从简单的一句话开始)

注:old 为字符串变量

//return new StringBuffer(old).reverse().toString();

//return new StringBuilder(old).reverse().toString();

再来一个大气点的

我们要想到Collections类中有两个重要的方法,(sort()与reverse());而reverser()参数是集合,这个时候就需要转化为集合,代码如下:

String result = "";

List olds = Arrays.asList(old.split(""));

Collections.reverse(olds);

for (String s : olds) {

result += s;

}

return result;

然后再说一下关于charAt() 的用法:返回指定索引处的 char 值。

利用下标倒序把字符取出来重组

String result = "";

for (int i = old.length() - 1; i >= 0; i--) {

result += String.valueOf(old.charAt(i));

}

return result;

这种方法是将先取出来的放在后取出来的后面

String result = "";

for (int i = 0; i < old.length(); i++) {

result = old.charAt(i) + result;

}

return result;

再说一下关于toCharArray()的用法:该方法的作用是返回一个字符数组,该字符数组中存放了当前字符串中的所有字符

利用栈,就是传说中的先进后出,如果不清楚,查看API即可,里面有:

Stack() 创建一个空堆栈。

empty() 测试堆栈是否为空;

push(E item) 把项压入堆栈顶部;

pop() 移除堆栈顶部的对象,并作为此函数的值返回该对象。

Character类为char的封装类

char[] chars = old.toCharArray();

Stack oldStack = new Stack();

for (Character c : chars) {

oldStack.push(c);

}

String result = "";

while (!oldStack.empty()) {

result += oldStack.pop();

}

return result;

来点刺激一点的,就是你的重点。。。要想说清楚就需要使用奇数偶数来测试 等等。。。

char[] chars = old.toCharArray();

int n = chars.length - 1;

for (int i = 0; i <= n / 2; i++) {

char temp = chars[i];

chars[i] = chars[n - i];

chars[n - i] = temp;

}

return new String(chars);

如果再有方法,我会即使更新!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值