Palindrome là một số hoặc chữ cái vẫn giữ nguyên ngay cả khi số và chữ cái bị đảo ngược
Ví dụ
121, 11, 414, 1221, 74747 là các số đối xứng
MOM, DAD, MADAM, REFER là những chữ cái đối xứng
JAVATPOINT, PROGRAM, JAVA không phải là các chữ cái đối xứng
thuật toán Palindrom
- Đọc số hoặc chữ cái
- Giữ chữ cái hoặc số trong một biến tạm thời
- Đảo ngược chữ cái hoặc số
- So sánh biến tạm thời với chữ cái hoặc số đảo ngược
- Nếu cả hai chữ cái hoặc số giống nhau, hãy in "chuỗi/số này là một bảng màu. "
- Khác in, "chuỗi/số này không phải là một bảng màu. "
Chương trình Palindrom
chương trình 1. chuỗi đối xứng
đầu ra
chương trình 2. Chương trình chuỗi Palindrome
đầu ra
Enter a letter: javatpoint The letter is not a palindrome Enter a letter: MADAM The letter is a palindrome
chương trình 3. Chương trình số Palindrome sử dụng vòng lặp while
đầu ra
Enter the value: 2551 This value is not a palindrome number! Enter the value: 1221 This value is a palindrome number!
Ví dụ:
The string is a palindrome.57 giống nhau về hướng tiến hoặc lùi. Một ví dụ khác là "aibohphobia", có nghĩa đen là nỗi sợ hãi khó chịu đối với palindromes.
Mã nguồn
# Program to check if a string is palindrome or not
my_str = 'aIbohPhoBiA'
# make it suitable for caseless comparison
my_str = my_str.casefold[]
# reverse the string
rev_str = reversed[my_str]
# check if the string is equal to its reverse
if list[my_str] == list[rev_str]:
print["The string is a palindrome."]
else:
print["The string is not a palindrome."]
đầu ra
The string is a palindrome.
Ghi chú. Để kiểm tra chương trình, hãy thay đổi giá trị của my_str trong chương trình
Trong chương trình này, chúng tôi đã lấy một chuỗi được lưu trữ trong my_str
Sử dụng phương pháp
The string is a palindrome.58, chúng tôi làm cho nó phù hợp để so sánh trường hợp. Về cơ bản, phương thức này trả về một phiên bản chữ thường của chuỗi
Chúng tôi đảo ngược chuỗi bằng cách sử dụng chức năng tích hợp sẵn
The string is a palindrome.59. Vì hàm này trả về một đối tượng bị đảo ngược nên chúng ta sử dụng hàm
The string is a palindrome.60 để chuyển chúng thành một danh sách trước khi so sánh
Cho một chuỗi, hãy viết hàm python để kiểm tra xem nó có phải là màu nhạt hay không. Một chuỗi được gọi là đối xứng nếu mặt đảo ngược của chuỗi giống với chuỗi. Ví dụ: "radar" là một bảng màu nhạt, nhưng "cơ số" không phải là một bảng màu
ví dụ.
Input : malayalam Output : Yes Input : geeks Output : No
Khuyến khích. Vui lòng thử cách tiếp cận của bạn trên {IDE} trước, trước khi chuyển sang giải pháp
Phương pháp số 1
- Tìm đảo ngược của chuỗi
- Kiểm tra xem đảo ngược và ban đầu có giống nhau hay không
con trăn
The string is a palindrome.61
The string is a palindrome.62
Yes0
Yes1
Yes2
Yes3
Yes4
Yes4
Yes6
Yes7
Yes8
Yes9
Yes0
Yes3____54
Yes3
________ 54 ________ 54 ________ 56
Yes7
Yes8
Yes1
Yes0
Yes1
Yes2
Yes3
Yes4
Yes5
Yes1
Yes0
Yes1
Yes9
Yes3
đầu ra.
Yes
Độ phức tạp về thời gian. Trên]
Không gian phụ trợ. Ô[1]
Phương pháp lặp. Phương pháp này được đóng góp bởi Shariq Raza. Chạy một vòng lặp từ đầu đến chiều dài/2 và kiểm tra ký tự đầu tiên đến ký tự cuối cùng của chuỗi và thứ hai đến ký tự cuối cùng thứ hai, v.v. Nếu bất kỳ ký tự nào không khớp, chuỗi sẽ không phải là một bảng màu
Dưới đây là việc thực hiện phương pháp trên.
con trăn
Yes1
Yes2
The string is a palindrome.62
Yes4____55
Yes6
Yes1
Yes8
Yes1
Yes0
Yes1
Yes2
Yes3
Yes1
Yes5
Yes6
Yes7
Yes1
Yes9
Yes1
Yes5
Yes3
Yes3
Yes4
Yes5
Yes6
Yes7
Yes5_______59
Yes4
Yes5
Yes2
Yes9
Yes1
Yes5
Yes3
Yes7
Yes1
Yes7
Yes8
The string is a palindrome.611
________ 3612 ________ 52 ________ 3614
Yes1
Yes2
The string is a palindrome.617
The string is a palindrome.618
Yes3____54
Yes3
________ 54 ________ 54 ________ 56
Yes7
The string is a palindrome.626
Yes1
Yes0
Yes1
Yes2
Yes3
Yes4
Yes5
Yes1
Yes0
Yes1
Yes9
Yes3
đầu ra.
Yes
Độ phức tạp về thời gian. Trên]
Không gian phụ trợ. Ô[1]
Phương thức sử dụng hàm sẵn có để đảo ngược chuỗi.
Trong phương pháp này, chức năng được xác định trước ‘ ‘. tham gia [đảo ngược [chuỗi]] được sử dụng để đảo ngược chuỗi.
Dưới đây là việc thực hiện các phương pháp trên.
con trăn
Yes1
Yes2
The string is a palindrome.62
Yes0
_______51____514
_______51____516
Yes1____518
Yes4
Yes20
Yes21
Yes22
Yes1____524
_______51____526
Yes1
Yes7
Yes29
Yes4
Yes4
Yes32
Yes6
Yes2
The string is a palindrome.617
Yes1
Yes2
The string is a palindrome.614
The string is a palindrome.618
Yes3____54
Yes3
________ 54 ________ 54 ________ 56
Yes7
The string is a palindrome.626
Yes1
Yes0
Yes1
Yes2
Yes3
Yes4
Yes5
Yes1
Yes0
Yes1
Yes9
Yes3
đầu ra.
Yes
Độ phức tạp về thời gian. Trên]
Không gian phụ trợ. Trên]
Phương pháp sử dụng một biến phụ. Trong phương thức này, người dùng lấy từng ký tự của chuỗi và lưu nó vào một biến rỗng. Sau khi lưu trữ tất cả các ký tự, người dùng sẽ so sánh cả hai chuỗi và kiểm tra xem nó có phải là màu nhạt hay không.
con trăn
Yes60
Yes61
Yes62
________ 563 ________ 54 ________ 53
________ 566 ________ 54 ________ 568
________ 50 ________ 51 ________ 52 ________ 572
Yes1____566
Yes4
Yes1
Yes77
Yes66
Yes7
Yes80____54
Yes4
Yes83
Yes1
Yes0
Yes1
Yes2
Yes3
Yes4
Yes5
Yes1
Yes0
Yes1
Yes9
Yes3
đầu ra.
Yes
Độ phức tạp về thời gian. Trên]
Không gian phụ trợ. Trên]
Phương pháp sử dụng cờ. Trong phương pháp này, người dùng so sánh từng ký tự bắt đầu và kết thúc trong một vòng lặp for và nếu ký tự không khớp thì nó sẽ thay đổi trạng thái của cờ. Sau đó, nó sẽ kiểm tra trạng thái của cờ và theo đó và in xem đó có phải là một bảng màu hay không.
con trăn
Yes60
Yes61
Yes62
________ 599 ________ 54 ________ 501
Yes02
Yes4
Yes7
Yes8
Yes06
Yes4
Yes5
Yes0
Yes1
Yes2
Yes12
Yes1
Yes7
Yes15
Yes4
Yes17
Yes6
Yes06____54
Yes8
_______56____523
Yes1
Yes02
Yes4
Yes02
Yes7
Yes8
Yes7
Yes06____54
Yes4
Yes8
Yes5
Yes1
Yes0
Yes1____539
Yes3
Yes4
Yes5
Yes1
Yes0
Yes1
Yes2
Yes3
đầu ra.
Yes
Độ phức tạp về thời gian. Trên]
Không gian phụ trợ. Ô[1]
Phương pháp sử dụng đệ quy.
Phương thức này so sánh phần tử đầu tiên và phần tử cuối cùng của chuỗi và đưa phần còn lại của chuỗi con vào một lệnh gọi đệ quy tới chính nó.
Python3
Yes48
Yes49
The string is a palindrome.62
Yes0
_______51____553
Yes1
Yes3
Yes4
Yes57
_______51____559
Yes1____561____54
Yes9
Yes64
_______51____566
Yes1
Yes7
Yes69
Yes4
Yes5
Yes6
Yes2
The string is a palindrome.617
_______51____576
Yes1
Yes78
Yes79_______55____59
Yes4
Yes4
Yes84
Yes7
Yes8
The string is a palindrome.611
_______56____589
Yes6
Yes2
Yes92
Yes8
Yes94
Yes7
Yes8
Yes97
________ 51 ________ 54 ________ 55
Yes6
Yes2
The string is a palindrome.614
Yes04
Yes3____54
Yes07
________ 54 ________ 54 ________ 56
Yes7
Yes8
Yes1
Yes0
Yes1
Yes2
Yes3
Yes4
Yes5
Yes1
Yes0
Yes1
Yes9
Yes3
đầu ra
Yes
Độ phức tạp về thời gian. Trên]
Không gian phụ trợ. Trên]
Phương pháp. Sử dụng các phương thức mở rộng [] và đảo ngược []
Python3
Yes25
The string is a palindrome.62
Yes0
Yes1____563____54
Yes31
Yes64
_______51____534____54
Yes36
Yes1____538
_______51____540
Yes1
Yes7
Yes80
Yes4
Yes4
Yes46
Yes6
Yes2
The string is a palindrome.617
Yes1
Yes2
The string is a palindrome.614
Yes04
Yes3____54
Yes3
________ 54 ________ 54 ________ 56
Yes7
Yes8
Yes1
Yes0
Yes1
Yes2
Yes3
Yes4
Yes5
Yes1
Yes0
Yes1
Yes9
Yes3
Đầu ra
Yes
Bài viết này được đóng góp bởi Sahil Rajput. Nếu bạn thích GeeksforGeeks và muốn đóng góp, bạn cũng có thể viết một bài báo bằng cách sử dụng write. chuyên viên máy tính. org hoặc gửi bài viết của bạn tới review-team@geeksforgeeks. tổ chức. Xem bài viết của bạn xuất hiện trên trang chính của GeeksforGeeks và trợ giúp các Geeks khác
Vui lòng viết bình luận nếu bạn thấy bất cứ điều gì không chính xác hoặc bạn muốn chia sẻ thêm thông tin về chủ đề thảo luận ở trên