понедельник, 29 июля 2013 г.

Напишите код функции (reversePrint), которая выведет значения переданного ей односвязного списка в обратном порядке (4,3,2,1). Для вывода значений используйте конструкцию console.log.

Дано.

function reversePrint (linkedList) {
                   // ...
         }
       
         var someList = {
                   value: 1,
                   next: {
                            value: 2,
                            next: {
                                      value: 3,
                                      next: {
                                               value: 4,
                                               next: null
                                      }
                            }
                   }
         };
         reversePrint(someList);

Напишите код функции (reversePrint), которая выведет значения переданного ей односвязного списка в обратном порядке (4,3,2,1). Для вывода значений используйте конструкцию console.log.

Решение.

function reversePrint(linkedList) {
    var values = [];
    function getValue (obj) {
        if (obj.next === null) {
            values.push(obj.value);      
            return;
        } else {
            values.push(obj.value);
            getValue(obj.next);
        }    
    }
   
    getValue(linkedList);
   
    values = values.reverse();
    values = values.join();
     
    console.log(values);

}

var someList = {
    value: 1,
    next: {
        value: 2,
        next: {
            value: 3,
            next: {
                value: 4,
                next: null
            }
        }
    }
};
       
reversePrint(someList);

Комментариев нет:

Отправить комментарий