Posted on by Kalkicode
Code Single linked list

Sum of the alternate nodes of linked list in python

Python program for Sum of the alternate nodes of linked list. Here problem description and explanation.

#  Python 3 program for
#  Sum of the alternate nodes of linked list

#  Linked list node
class LinkNode :
	def __init__(self, data) :
		self.data = data
		self.next = None
	

class SingleLL :
	def __init__(self) :
		self.head = None
	
	#  Add new node at the end of linked list
	def insert(self, value) :
		#  Create a node
		node = LinkNode(value)
		if (self.head == None) :
			self.head = node
		else :
			temp = self.head
			#  Find last node
			while (temp.next != None) :
				#  Visit to next node
				temp = temp.next
			
			#  Add node at last position
			temp.next = node
		
	
	#  Display all Linked List elements
	def display(self) :
		if (self.head != None) :
			temp = self.head
			while (temp != None) :
				#  Display node value
				print("  ", temp.data, end = "")
				#  Visit to next node
				temp = temp.next
			
		else :
			print("Empty Linked list")
		
	
	#  Sum of all alternate nodes of linked list
	def sumAlternateNode(self) :
		#  Get first node
		temp = self.head
		sum = 0
		#  Iterate the elements of linked list, 
		#  And sum of all alternate element.
		while (temp != None) :
			#  Sum node value
			sum += temp.data
			if (temp.next != None) :
				#  Visit to next second node
				temp = temp.next.next
			else :
				#  When no alternate node
				#  Like break
				temp = None
			
		
		#  Display result
		print("\n Sum of all alternate nodes : ", sum)
	

def main() :
	sll = SingleLL()
	#  Linked list
	#  6 → 2 → 1 → 4 → 3 → 3 → 4 → 8 → NULL
	sll.insert(6)
	sll.insert(2)
	sll.insert(1)
	sll.insert(4)
	sll.insert(3)
	sll.insert(3)
	sll.insert(4)
	sll.insert(8)
	print(" Linked List")
	sll.display()
	sll.sumAlternateNode()

if __name__ == "__main__": main()

Output

 Linked List
   6   2   1   4   3   3   4   8
 Sum of all alternate nodes :  14

Comment

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.

New Comment