【字符串】B049_LC_合并内容流(模拟)

一、Problem

合并两个内容流,实现隔4个插入1个,如果合并完还有剩下,则加内容流尾部

输入描述:

第行表示第一种类型的内容,字符数量<=100,空格分隔。比如说

1 2 3 4 5 6 7 8 9

a b c

输出描述:

合并两种内容流,输出

1 2 3 4 a 5 6 7 8 b 9 c

二、Solution

方法一:模拟

注意边界即可…

import java.util.*;
import java.math.*;
import java.io.*;
public class Main{
    static class Solution {
        void init() {
            Scanner sc = new Scanner(new BufferedInputStream(System.in));
            String s = sc.nextLine();
            String data = sc.nextLine();
            StringBuilder sb = new StringBuilder();
 
            int n = s.length(), i, p = 0;
 
            for (i = 0; i < n - 6; i += 7) {
                sb.append(s.substring(i, i+7));
                i++;
                if (p < data.length()) {
                    sb.append(" " + data.charAt(p));
                }
                sb.append(" ");
                p+=2;
            }
            sb.append(s.substring(i));
            while (p < data.length()) {
                sb.append(" ");
                sb.append(data.charAt(p));
                p += 2;
            }
            System.out.println(sb);
        }
    }
    public static void main(String[] args) throws IOException { 
        Solution s = new Solution();
        s.init();
         
    }
}

复杂度分析

  • 时间复杂度: O ( n ) O(n)
  • 空间复杂度: O ( n ) O(n)

猜你喜欢

转载自blog.csdn.net/qq_43539599/article/details/106826600