Skip to content

Instantly share code, notes, and snippets.

@sandbochs
Created December 7, 2012 05:34
Show Gist options
  • Save sandbochs/4231026 to your computer and use it in GitHub Desktop.
Save sandbochs/4231026 to your computer and use it in GitHub Desktop.
linked list w Amy
def filter(ll, val)
fake_ll = Pair.new(424242, ll)
previous = fake_ll
while ll != nil
if ll.a == val
previous.b = ll.b
else
previous = ll
end
ll = ll.b
end
fake_ll.b
end
def len(ll)
count = 0
while ll != nil
ll = ll.b
count += 1
end
count
end
def filter(ll, val)
while ll.a == val
return nil if ll.b == nil
ll = ll.b
end
first = ll
previous = ll
ll = ll.b
while ll != nil
if ll.a == val
previous.b = ll.b
else
previous = ll
end
ll = ll.b
end
first
end
def len(ll)
count = 0
while ll != nil
ll = ll.b
count += 1
end
count
end
ll = Pair.new(4, Pair.new(4, Pair.new(3, Pair.new(4, nil))))
ll = Pair.new(4, Pair.new(4, nil))
puts len(ll)
ll = filter(ll, 4)
puts len(ll)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment