Website Summary Files Commits Branches @commit @diff @stats
path: root / Seminar06 / Linked-List-Perm.cpp
diff options
context:
space:
mode:
Commit0ada48f859ab59acdbd67e67e887026cacc29e33 (patch)
Author
 Stoycho Kyosev <stoycho.kk@gmail.com>
2022-11-09 22:56:24 +0200
Committer
 Stoycho Kyosev <stoycho.kk@gmail.com>
2022-11-09 22:56:24 +0200
Files4b4edeee0fc768ddf48073804c4a0f8719e580ed /Seminar06/Linked-List-Perm.cpp
Data-structures-and-algorithms-0ada48f859ab59acdbd67e67e887026cacc29e33.tar
Data-structures-and-algorithms-0ada48f859ab59acdbd67e67e887026cacc29e33.tar.gz
Data-structures-and-algorithms-0ada48f859ab59acdbd67e67e887026cacc29e33.zip
Parent16a916c1fc7ecf89bfbf910445740fb4596aae8f (diff)
add Seminar06
1 files changed, 28 insertions, 0 deletions
-rw-r--r--Seminar06/Linked-List-Perm.cpp28
diff --git a/Seminar06/Linked-List-Perm.cpp b/Seminar06/Linked-List-Perm.cpp
new file mode 100644
index 0000000..ee2b1e4
--- /dev/null
+++ b/Seminar06/Linked-List-Perm.cpp
@@ -0,0 +1,28 @@
+#include"../Seminar04/linked-list-utils.h"
+
+bool isLinkedListPermRec(const LinkedListNode<int>*& begin, const LinkedListNode<int>* end) {
+ if(end == nullptr)
+ return true;
+
+ bool res = isLinkedListPermRec(begin, end->next) && (begin->data == end->data);
+
+ begin = begin->next;
+ return res;
+}
+
+template<class T>
+bool isLinkedListPerm(const LinkedListNode<T>* ll) {
+ if(ll == nullptr)
+ return true;
+
+ const LinkedListNode<int>* begin = ll;
+ const LinkedListNode<int>* end = ll;
+
+ return isLinkedListPermRec(begin, end);
+}
+
+int main() {
+ LinkedListNode<int>* ll = new LinkedListNode(0, new LinkedListNode(1, new LinkedListNode(1)));
+
+ std::cout << isLinkedListPerm(ll);
+} \ No newline at end of file