This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Binary trees are already defined with this interface: | |
# class Tree(object): | |
# def __init__(self, x): | |
# self.value = x | |
# self.left = None | |
# self.right = None | |
def isSubtree(t1, t2): | |
def isEqual(left, right): | |
if left == None and right == None: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Binary trees are already defined with this interface: | |
# class Tree(object): | |
# def __init__(self, x): | |
# self.value = x | |
# self.left = None | |
# self.right = None | |
def hasPathWithGivenSum(t, s): | |
if t is None: | |
if s==0: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def findProfession(level, pos): | |
# Base case | |
if (level == 1): | |
return 'Engineer' | |
# Recursively find parent's profession. If parent | |
# is a doctar, this node will be a doctal if it is | |
# at odd position and an engineer if at even position | |
if (findProfession(level-1, (pos+1)//2) == 'Doctor'): | |
if (pos%2): |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Binary trees are already defined with this interface: | |
# class Tree(object): | |
# def __init__(self, x): | |
# self.value = x | |
# self.left = None | |
# self.right = None | |
def kthSmallestInBST(t, k): | |
def inorder(r): | |
return inorder(r.left) + [r.value] + inorder(r.right) if r else [] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Binary trees are already defined with this interface: | |
# class Tree(object): | |
# def __init__(self, x): | |
# self.value = x | |
# self.left = None | |
# self.right = None | |
def isEqual(left, right): | |
if left == None and right == None: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def reverseList(head, tail): | |
prev = None | |
while prev != tail: | |
prev, prev.next, head = head, prev, head.next | |
return prev | |
def reverseNodesInKGroups(l, k): | |
if k < 2: | |
return l | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Definition for singly-linked list: | |
# class ListNode(object): | |
# def __init__(self, x): | |
# self.value = x | |
# self.next = None | |
# | |
def rearrangeLastN(l, n): | |
if n == 0: | |
return l | |
front, back = l, l |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Singly-linked lists are already defined with this interface: | |
# class ListNode(object): | |
# def __init__(self, x): | |
# self.value = x | |
# self.next = None | |
# | |
def mergeTwoLinkedLists(l1, l2): | |
if l1 == None and l2 == None: | |
return None |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Singly-linked lists are already defined with this interface: | |
# class ListNode(object): | |
# def __init__(self, x): | |
# self.value = x | |
# self.next = None | |
# | |
def addTwoHugeNumbers(a, b): | |
lst_a = {} | |
lst_b = {} | |
i=0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Singly-linked lists are already defined with this interface: | |
# class ListNode(object): | |
# def __init__(self, x): | |
# self.value = x | |
# self.next = None | |
# | |
def removeKFromList(l, k): | |
if l == None: | |
return l | |
while l != None and l.value == k: |
NewerOlder