एक सरणी गिरफ्तारी [एन] को देखते हुए जहां एन एक सरणी का कुछ आकार है, कार्य यह पता लगाना है कि सरणी पालिंड्रोम है या रिकर्सन का उपयोग नहीं कर रही है। पैलिंड्रोम एक अनुक्रम है जिसे पीछे और आगे की तरह पढ़ा जा सकता है, जैसे:मैडम, नमन, आदि।
तो एक सरणी की जांच करने के लिए पैलिंड्रोम है या नहीं, इसलिए हम एक सरणी को पीछे और आगे से पार कर सकते हैं जैसे -

रिकर्सन में भी हमें प्रारंभ और अंत मान को तब तक बदलना पड़ता है जब तक वे बराबर न हों या जब प्रारंभ और अंत के मान बराबर न हों तो बाहर निकलें और झूठी वापसी करें कि दिया गया सरणी पैलिंड्रोम नहीं है।
उदाहरण
Input: arr[] = { 2, 3, 4, 3, 2}
Output: Yes, the array is Palindrome
Explanation: the array is identical from start (2, 3, 4, 3, 2) and end (2, 3, 4, 3, 2).
Input: arr[] = {1, 2, 3, 4}
Output: No, the array is not Palindrome
Explanation: The array is not identical from start (1, 2, 3, 4) and end (4, 3, 2, 1). नीचे उपयोग किया गया दृष्टिकोण इस प्रकार है -
हम निम्न चरणों को पुनरावर्ती रूप से करेंगे -
- गिरफ्तारी की जाँच करें [शुरू करें] गिरफ्तारी के बराबर है [अंत] और प्रारंभ <अंत
- इन्क्रीमेंट 1 से शुरू होता है और 1 से इंक्रीमेंट खत्म होता है।
- गोटो चरण 1.
एल्गोरिदम
Start
In function int palindrome(int arr[], int start, int end)
Step 1-> If start >= end then,
Return 1
Step 2-> If arr[start] == arr[end] then,
Return palindrome(arr, start + 1, end - 1)
Step 3-> Else {
Return 0
In fucntion int main()
Step 1-> Declare and initialize an array arr[]
Step 2-> Declare and initialize n = sizeof(arr) / sizeof(arr[0]
Step 3-> If palindrome(arr, 0, n - 1) == 1 then,
Print "Yes, the array is Palindrome”
Step 4-> Else
Print "No, the array is not Palindrome”
Stop उदाहरण
#include <stdio.h>
// Recursive pallindrome function that returns 1 if
// palindrome, 0 if it is not
int palindrome(int arr[], int start, int end) {
// base case
if (start >= end) {
return 1;
}
if (arr[start] == arr[end]) {
return palindrome(arr, start + 1, end - 1);
} else {
return 0;
}
// Driver code
int main() {
int arr[] = { 1, 2, 0, 2, 1 };
int n = sizeof(arr) / sizeof(arr[0]);
if (palindrome(arr, 0, n - 1) == 1)
printf("Yes, the array is Palindrome\n");
else
printf("No, the array is not Palindrome\n");
return 0;
} आउटपुट
यदि उपरोक्त कोड चलाया जाता है तो यह निम्न आउटपुट उत्पन्न करेगा -
Yes, the array is Palindrome