Mục tiêu
Tạo một hàm để đảo ngược chuỗi nối
Đầu vào
Hai chuỗi (chữ và số + dấu cách), trong đó một chuỗi nên được trừ cho chuỗi kia.
- Bạn có thể giả định rằng chuỗi được trừ sẽ không bao giờ lớn hơn chuỗi khác.
Đầu ra
Kết quả của phép trừ
Phép trừ
Bạn nên xóa một chuỗi từ đầu hoặc cuối chuỗi khác. Nếu chuỗi có mặt ở đầu và cuối, bạn chỉ có thể xóa một chuỗi, chuỗi nào sẽ bị xóa tùy thuộc vào bạn.
Nếu chuỗi không bắt đầu hoặc kết thúc hoặc không khớp chính xác, đó là phép trừ không hợp lệ và bạn nên xuất chuỗi gốc.
Các trường hợp thử nghiệm
Phép trừ hợp lệ
'abcde','ab' -> 'cde'
'abcde','cde' -> 'ab'
'abab','ab' -> 'ab'
'abcab','ab' -> 'abc' or 'cab'
'ababcde','ab' -> 'abcde'
'acdbcd','cd' -> 'acdb'
'abcde','abcde' -> ''
'abcde','' -> 'abcde'
'','' -> ''
Phép trừ không hợp lệ (trả về chuỗi gốc)
'abcde','ae' -> 'abcde'
'abcde','aa' -> 'abcde'
'abcde','bcd' -> 'abcde'
'abcde','xab' -> 'abcde'
'abcde','yde' -> 'abcde'
Đầu vào không hợp lệ (không cần xử lý)
'','a' -> ''
Đây là mã golf , vì vậy mã ngắn nhất tính bằng byte sẽ thắng!
'abcde','bcd' -> 'abcde'
, vì đã phá vỡ giải pháp của tôi
'ababcde', 'ab'
→ 'abcde'
như một trường hợp thử nghiệm. Một số thuật toán ngây thơ thất bại trên đó.
cde
? Bạn có ý nghĩa gì bởi hợp lệ? Chúng ta có cần phải đánh giá tính hợp lệ của đầu vào không, hay bạn có nghĩa là chúng ta sẽ không nhận được đầu vào không hợp lệ?