All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com_github_leetcode.random.node.rb Maven / Gradle / Ivy

class Node
  attr_accessor :val, :next, :random

  def initialize(val = 0, next_node = nil, random = nil)
    @val = val
    @next = next_node
    @random = random
  end

  def to_s
    result = []
    curr = self

    while curr
      result << "[#{curr.val}, #{curr.random ? find_index(curr.random) : 'nil'}]"
      curr = curr.next
    end

    '[' + result.join(',') + ']'
  end

  private

  def find_index(target)
    index = 0
    curr = self

    while curr&.next && curr != target
      index += 1
      curr = curr.next
    end

    index
  end
end




© 2015 - 2025 Weber Informatics LLC | Privacy Policy