From 8ed7d150319315df5e116660634c6b23ba10454c Mon Sep 17 00:00:00 2001
From: harikakatne <126040344+harikakatne@users.noreply.github.com>
Date: Tue, 3 Feb 2026 19:26:46 -0800
Subject: [PATCH] precourse - 1 harika
precourse - 1 harika
---
.idea/.gitignore | 3 ++
.idea/PreCourse-1.iml | 12 ++++++++
.../inspectionProfiles/profiles_settings.xml | 6 ++++
.idea/misc.xml | 7 +++++
.idea/modules.xml | 8 +++++
.idea/vcs.xml | 6 ++++
Exercise_1.py | 17 +++++++----
Exercise_2.py | 6 ++--
Exercise_3.py | 30 ++++++++++++++++++-
9 files changed, 87 insertions(+), 8 deletions(-)
create mode 100644 .idea/.gitignore
create mode 100644 .idea/PreCourse-1.iml
create mode 100644 .idea/inspectionProfiles/profiles_settings.xml
create mode 100644 .idea/misc.xml
create mode 100644 .idea/modules.xml
create mode 100644 .idea/vcs.xml
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 000000000..26d33521a
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/.idea/PreCourse-1.iml b/.idea/PreCourse-1.iml
new file mode 100644
index 000000000..460d4026f
--- /dev/null
+++ b/.idea/PreCourse-1.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 000000000..105ce2da2
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 000000000..1d3ce46ba
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 000000000..7fc8bedea
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 000000000..35eb1ddfb
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Exercise_1.py b/Exercise_1.py
index 532833f5d..8a90c107e 100644
--- a/Exercise_1.py
+++ b/Exercise_1.py
@@ -2,20 +2,27 @@ class myStack:
#Please read sample.java file before starting.
#Kindly include Time and Space complexity at top of each file
def __init__(self):
+ self.stack = []
+
def isEmpty(self):
-
+ if len(self.stack) == 0:
+ return self.stack
+
def push(self, item):
-
+ return self.stack.append(item)
def pop(self):
-
-
+ return self.stack.pop()
+
def peek(self):
+ return self.stack[len(self.stack) -1]
def size(self):
+ return len(self.stack)
def show(self):
-
+ for i in range(len(self.stack)):
+ return self.stack[i]
s = myStack()
s.push('1')
diff --git a/Exercise_2.py b/Exercise_2.py
index b11492215..5ca9cf0e7 100644
--- a/Exercise_2.py
+++ b/Exercise_2.py
@@ -6,10 +6,12 @@ def __init__(self, data):
class Stack:
def __init__(self):
-
+ self.stack = []
+
def push(self, data):
-
+ self.append(data)
def pop(self):
+ return self.pop()
a_stack = Stack()
while True:
diff --git a/Exercise_3.py b/Exercise_3.py
index a5d466b59..d57bd2e19 100644
--- a/Exercise_3.py
+++ b/Exercise_3.py
@@ -3,6 +3,8 @@ class ListNode:
A node in a singly-linked list.
"""
def __init__(self, data=None, next=None):
+ self.data = data
+ self.next = None
class SinglyLinkedList:
def __init__(self):
@@ -17,6 +19,14 @@ def append(self, data):
Insert a new element at the end of the list.
Takes O(n) time.
"""
+ new = ListNode(data)
+ if self.head == None:
+ self.head = new
+ new.next = None
+ curr = self.head
+ while curr.next != None:
+ curr = curr.next
+ curr.next = new
def find(self, key):
"""
@@ -24,9 +34,27 @@ def find(self, key):
`key`. Return the element or `None` if not found.
Takes O(n) time.
"""
-
+ curr = self.head
+ while curr != None:
+ if curr.data == key:
+ return curr
+ return None
+
def remove(self, key):
"""
Remove the first occurrence of `key` in the list.
Takes O(n) time.
"""
+ if self.head == key:
+ self.head = self.head.next
+ return
+ prev = self.head
+ curr = self.head.next
+ while curr.next != None:
+ if curr.data == key:
+ prev.next = curr.next
+ prev = prev.next
+ curr = curr.next
+
+
+