[蓝蓝计算机考研算法训练二期]-day05

79 阅读1分钟

8、day05-计算字符的个数

输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。 如输入{1,2,3}的链表如下图:

image.png

返回一个数组为[3,2,1]

0<=链表长度<= 10000

示例1

输入:

{1,2,3}

返回值:

[3,2,1]

示例2

输入:

{67,0,24,58}

输出:

[58,24,0,67]

1、思路

首先将输入的字符串中的数字拆分出来,然后从两头同时开始往中间遍历数组,每遍历一个元素,就相互交换,然后各自遍历下一个直至遍历完毕。最后根据题目要求样式数组拼接成字符串并输出。

2、具体实现

java实现

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    String str = scanner.nextLine();
    String answer = "";
    String[] string = str.split("\{|,|\}");
    String temp = "";
    for (int i = 1, j = string.length - 1; i < j; i++, j--) {
        temp = string[i];
        string[i] = string[j];
        string[j] = temp;
    }
    for (int i = 1; i < string.length - 1; i++) {
        answer = answer + string[i] + ",";
    }
    answer += string[string.length - 1];
    System.out.println("[" + answer + "]");
}

结果:

image.png