linked list of strings forms a palindrome

Given a linked list with string data, check whether the combined string formed is palindrome. If the combined string is palindrome then return true otherwise return false.

Example:

Input:

Output : true
Explanation: As string "abcddcba" is palindrome the function should return true.
Input:

Output : false
Explanation: As string "abcdba" is not palindrome the function should return false.

Expected Time Complexity: O(n)
Expected Auxiliary Space: O(n)

Constraints:
1 <= Node.data.length<= 103
1<=list.length<=103


Approach 01:

class Solution {
  public:
    bool compute(Node* head) {
        string result = "";
    
        while (head != nullptr) {
            result += head->data;
            head = head->next;
        }
    
        // Check if the result string is equal to its reverse
        return result == string(result.rbegin(), result.rend());
    }
};
def compute(head): 
    result = ''
    
    while(head != None):
        result += head.data
        head = head.next
        
    return result == result[::-1]

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top