Заботливая мама

Мама Васи хочет знать, что сын планирует делать и когда. Помогите ей: напишите функцию solution, определяющую индекс первого вхождения передаваемого ей на вход значения в связном списке, если значение присутствует.

Внимание: в этой задаче не нужно считывать входные данные. Нужно написать только функцию, которая принимает на вход голову списка и искомый элемент, а возвращает целое число — индекс найденного элемента или -1. Ниже дано описание структуры, которая задаёт вершину списка.

Формат ввода

Функция на вход принимает голову односвязного списка и элемент, который нужно найти. Длина списка не превосходит 10000 элементов. Список не бывает пустым.

Формат вывода

Функция возвращает индекс первого вхождения искомого элемента в список (индексация начинается с нуля). Если элемент не найден, нужно вернуть -1.

# Comment it before submitting
class Node:
    def __init__(self, value, next_item=None):
        self.value = value  
        self.next_item = next_item

def solution(node, elem):
    count = 0
    while elem != count:
        if node == None:
            return -1
        if elem == node.value:
            return count
        else:
            node = node.next_item
            count += 1

def test():
    node3 = Node("node3", None)
    node2 = Node("node2", node3)
    node1 = Node("node1", node2)
    node0 = Node("node0", node1)
    idx = solution(node0, "node26")
    # result is idx == 2

if __name__ == '__main__':
    test()




Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: