Xóa các ký tự trùng lặp liên tiếp trong chuỗi Python

Một thẻ đã tồn tại với tên chi nhánh được cung cấp. Nhiều lệnh Git chấp nhận cả tên thẻ và tên nhánh, vì vậy việc tạo nhánh này có thể gây ra hành vi không mong muốn. Bạn có chắc chắn muốn tạo nhánh này không?

Đưa ra một chuỗi, xóa các ký tự trùng lặp liền kề khỏi chuỗi đó. Nói cách khác, loại bỏ tất cả các ký tự giống nhau liên tiếp ngoại trừ một ký tự

Ví dụ,

Đầu vào. AABBBCDDD
 
Đầu ra. ABCD

Thực hành vấn đề này

Ý tưởng là lặp qua chuỗi và đối với mỗi ký tự, hãy so sánh chuỗi đó với ký tự trước đó. Nếu ký tự hiện tại khác với ký tự trước đó, hãy biến nó thành một phần của chuỗi kết quả; . Độ phức tạp về thời gian của phương pháp này là O[n] , trong đó n là độ dài của chuỗi đầu vào và không yêu cầu thêm bất kỳ khoảng trống nào.

Sau đây là triển khai C, Java và Python của ý tưởng

C


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

#include

#include

#include

 

// Hàm loại bỏ các ký tự trùng lặp liền kề khỏi một chuỗi

void removeDuplicates[char s[]]

{

    int n = strlen[s];

    char prev = '\0'

Chủ Đề