# String Manipulation# Iteration

f701 - 連接字詞

🔗 前往 ZeroJudge 原題

題目描述

題目要求將第二行輸入的單字,使用第一行輸入的連接字詞連接起來,並輸出結果。單字之間用空格分隔。

解題思路

程式首先讀取連接字詞和包含單字的字串。然後,它遍歷包含單字的字串,每次提取一個單字,並將其與連接字詞一起輸出。在輸出每個單字後,它會檢查是否還有更多的單字需要輸出,如果是,則輸出連接字詞和一個空格。

複雜度分析

  • 時間複雜度: O(n),其中 n 是第二行字串的長度。程式需要遍歷第二行字串一次來提取單字。
  • 空間複雜度: O(1),程式使用的額外空間是常數級別,主要用於儲存單字和連接字詞。

程式碼

#include <bits/stdc++.h>
using namespace std;
string a,b;
int main(){
	getline(cin,a);
	getline(cin,b);
	a+=' ';
	for(int i=0;i<a.size();++i){
		string s;
		while(a[i]!=' '){
			s+=a[i];
			++i;
		}
		cout << s;
		if(i!=a.size()-1){
			cout << " " << b << " ";
		}
	} 
}

Discussion