目录
任务描述
本关任务:使用 LinkedList 的 addFirst 方法实现字符串反转输出。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,实现字符串反转输出,具体要求如下:
- 接收给定的字符串(如:abcde);
- 使用 LinkedList 实现字符串反转输出。
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
例: 测试输入:
abcdefg
预期输出:
gfedcba
开始你的任务吧,祝你成功!
参考答案:
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Scanner;
public class CollTest {
public static void main(String[] args) {
// 请在Begin-End间编写代码
/********** Begin **********/
// 接收给定的字符串
Scanner input=new Scanner(System.in);
String str=input.nextLine();
char[] array=str.toCharArray();
// 创建集合
LinkedList<Character> list=new LinkedList<>();//注意:此处是将字符(char)反转
// 利用 LinkedList 特有方法将字符串中每个字符反转添加进集合
for(char s:array) {
list.add(s);
}
for(int i=0;i<array.length;i++) {
char z=list.pollLast();
list.add(i,z);
}
// 将集合中的元素拼接成一个字符串输出
Iterator<Character> it=list.iterator();
while(it.hasNext()) {
System.out.print(it.next());
}
/********** End **********/
}
}
代码倒数第八行中的list.pollLast()可以检索并删除此列表的第一个元素,如果此列表为空,则返回null。