From ac43d43d4b9a67b47b02648fc1bb0153191673e9 Mon Sep 17 00:00:00 2001 From: Stoycho Kyosev <68247567+stoychoX@users.noreply.github.com> Date: Thu, 10 Nov 2022 00:46:45 +0200 Subject: Update and rename Linked-List-Perm.cpp to Linked-List-Palindrome.cpp --- Seminar06/Linked-List-Palindrome.cpp | 28 ++++++++++++++++++++++++++++ Seminar06/Linked-List-Perm.cpp | 28 ---------------------------- 2 files changed, 28 insertions(+), 28 deletions(-) create mode 100644 Seminar06/Linked-List-Palindrome.cpp delete mode 100644 Seminar06/Linked-List-Perm.cpp diff --git a/Seminar06/Linked-List-Palindrome.cpp b/Seminar06/Linked-List-Palindrome.cpp new file mode 100644 index 0000000..8a627a9 --- /dev/null +++ b/Seminar06/Linked-List-Palindrome.cpp @@ -0,0 +1,28 @@ +#include"../Seminar04/linked-list-utils.h" + +bool isLinkedListPalRec(const LinkedListNode*& begin, const LinkedListNode* end) { + if(end == nullptr) + return true; + + bool res = isLinkedListPalRec(begin, end->next) && (begin->data == end->data); + + begin = begin->next; + return res; +} + +template +bool isLinkedListPal(const LinkedListNode* ll) { + if(ll == nullptr) + return true; + + const LinkedListNode* begin = ll; + const LinkedListNode* end = ll; + + return isLinkedListPalRec(begin, end); +} + +int main() { + LinkedListNode* ll = new LinkedListNode(0, new LinkedListNode(1, new LinkedListNode(1))); + + std::cout << isLinkedListPal(ll); +} diff --git a/Seminar06/Linked-List-Perm.cpp b/Seminar06/Linked-List-Perm.cpp deleted file mode 100644 index ee2b1e4..0000000 --- a/Seminar06/Linked-List-Perm.cpp +++ /dev/null @@ -1,28 +0,0 @@ -#include"../Seminar04/linked-list-utils.h" - -bool isLinkedListPermRec(const LinkedListNode*& begin, const LinkedListNode* end) { - if(end == nullptr) - return true; - - bool res = isLinkedListPermRec(begin, end->next) && (begin->data == end->data); - - begin = begin->next; - return res; -} - -template -bool isLinkedListPerm(const LinkedListNode* ll) { - if(ll == nullptr) - return true; - - const LinkedListNode* begin = ll; - const LinkedListNode* end = ll; - - return isLinkedListPermRec(begin, end); -} - -int main() { - LinkedListNode* ll = new LinkedListNode(0, new LinkedListNode(1, new LinkedListNode(1))); - - std::cout << isLinkedListPerm(ll); -} \ No newline at end of file -- cgit v1.3.1-23-gd82d