试题 算法训练 奇变的字符串(java)

试题 算法训练 奇变的字符串(java)

问题描述

将一个字符串的奇数位(首位为第0位)取出,将其顺序弄反,再放回原字符串的原位置上。
如字符串"abcdefg",奇数位为"bdf",顺序弄反后为"fdb",最后得到字符串"afcdebg"。

输入格式

输入共一行,为一个字符串,字符串中无空格。

输出格式

输出共一行,为一个字符串,即最后得到的字符串。

样例输入

abcdefg

样例输出

afcdebg

数据规模和约定

字符串长度不超过255.

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		String str = sc.next();
		sc.close();
		char[] chs = str.toCharArray();
		List list = new ArrayList<>();
		for (int i = chs.length - 1; i >= 0; --i) {
			if (i % 2 == 1) {
				list.add(chs[i]);
			}
		}
	
		for (int i = 0, j = 0; i < chs.length/2 && j < chs.length; ++i, j += 2) {
			System.out.print(chs[j]);
			System.out.print(list.get(i));
		}
		if (chs.length % 2 == 1) {
			System.out.print(chs[chs.length-1]);
		}
	}

}
发布了6 篇原创文章 · 获赞 0 · 访问量 47

猜你喜欢

转载自blog.csdn.net/qq_40930715/article/details/105546196