मान लीजिए कि हमारे पास एक स्ट्रिंग s है, हमें यह जांचना होगा कि क्या स्ट्रिंग पैलिंड्रोम्स इसके उपसर्ग और प्रत्यय सबस्ट्रिंग के रूप में है या नहीं।
इसलिए, यदि इनपुट s ="levelishighforracecar" जैसा है, तो आउटपुट सही होगा क्योंकि इसमें पैलिंड्रोम उपसर्ग और प्रत्यय क्रमशः "स्तर" और "रेसकार" हैं।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- l :=s का आकार
- 2 से l + 2 की श्रेणी में i के लिए, करें
- यदि s अप टू इंडेक्स i का सबस्ट्रिंग पैलिंड्रोम है, तो
- लूप से बाहर आएं
- यदि i समान है (l + 1) , तो
- झूठी वापसी
- 2 से l + 2 की श्रेणी में i के लिए, करें
- अगर इंडेक्स (l - i) से (l - 1) में s का सबस्ट्रिंग पैलिंड्रोम है, तो
- सही लौटें
- अगर इंडेक्स (l - i) से (l - 1) में s का सबस्ट्रिंग पैलिंड्रोम है, तो
- झूठी वापसी
- यदि s अप टू इंडेक्स i का सबस्ट्रिंग पैलिंड्रोम है, तो
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण कोड
def is_palindrome(s): return s == s[::-1] def solve(s): l = len(s) for i in range(2, l + 1): if is_palindrome(s[0:i]): break if i == (l + 1): return False for i in range(2, l + 1): if is_palindrome(s[l - i : l]): return True return False s = "levelishighforracecar" print(solve(s))
इनपुट
"levelishighforracecar"
आउटपुट
True