使用链表或数组来反转Java中的字符串?

时间:2014-04-05 17:20:20

标签: java arrays string linked-list reverse

我相信我们可以使用for循环来反转Java中的字符串。如下所示:

String[] name = new String[10];

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

    System.out.print(name[i-1]);

}

但另一个实现是使用LinkedList。所以我的理解是当客户端不确定字符串数组可能动态增加多长时间时使用LinkedList。这是对的吗?

1 个答案:

答案 0 :(得分:0)

可以使用链接的字符列表来执行此操作。

在这种情况下,将数组列表视为具有无限长度的数组。为此,我们将它们添加到链表的BEGINNING中,而不是将值添加到数组的END中

LinkedList<Character> linkedList = new LinkedList<Character>();
String str = "Hello World";

for (int i = 0; i < str.length(); i++) {
    linkedList.addFirst(str.charAt(i));
}

//whenever it is time to print the value....
for (char c : linkedList) {
    //Print it out, one character at a time
    System.out.print(c);
}

每当你需要添加更多字符时,只需使用linkedList.addFirst()将其附加到开头。