Đề bài
Chuyển đổi text sang dạng viết hoa chữ cái đầu tiên của mỗi từ (title case): chữ cái đầu tiên của mỗi từ được viết hoa, các chữ cái còn lại viết thường. Các từ được phân tách bằng dấu cách đơn.
Cài đặt hàm title_case(text).
Đầu vào
text: Các từ viết thường hoặc viết hoa lẫn lộn, phân tách bằng dấu cách đơn.
Đầu ra
Trả về chuỗi đã được chuyển sang dạng viết hoa chữ cái đầu tiên của mỗi từ.
Ràng buộc
0 ≤ độ dài ≤ 10.000 (chỉ gồm chữ cái và dấu cách)
Ví dụ
Đầu vào:
text = "hello world"
Kết quả mong đợi:
expected = "Hello World"
Đầu vào:
std::string text = "hello world";
Kết quả mong đợi:
std::string expected = "Hello World";
Đầu vào:
string text = "hello world";
Kết quả mong đợi:
string expected = "Hello World";
Giải thích
"hello" → "Hello" và "world" → "World".
Đầu vào:
text = "tHE qUICK fox"
Kết quả mong đợi:
expected = "The Quick Fox"
Đầu vào:
std::string text = "tHE qUICK fox";
Kết quả mong đợi:
std::string expected = "The Quick Fox";
Đầu vào:
string text = "tHE qUICK fox";
Kết quả mong đợi:
string expected = "The Quick Fox";
Giải thích
Các chữ cái còn lại được chuyển thành viết thường: "The Quick Fox".
Hướng tiếp cận
Hãy tự thử trước, sau đó mở từng gợi ý một.
Gợi ý 1
Tách văn bản thành các từ và xử lý từng từ riêng biệt.
Gợi ý 2
Viết hoa ký tự đầu, viết thường phần còn lại, rồi ghép các từ lại bằng dấu cách.
Gợi ý 3
Lưu ý input rỗng để không truy cập vào ký tự đầu bị thiếu.
Độ phức tạp mong đợi
thời gian O(n), bộ nhớ phụ O(n)
Tham khảo
Thử thách này đã được điều chỉnh cho CodeUtility. Hãy làm theo đề bài và các ràng buộc ở trên.