Разворот односвязного списка - JavaScript

405
01 апреля 2018, 21:52

Здравствуйте, уважаемые форумчане. Задачка состоит в том, чтобы проверить "правильность" скобок в строке str. Задачу нужно решить через односвязный список, я занес в список 1 открывающиеся скобки, а в список 2 закрывающиеся. Вопрос как мне развернуть список 2, чтобы сравнить его с первым списком. Т.е. сейчас при выводе

( [ {

} ] )

Или можете предложить другую идею решения (может более рациональную).

var list = function (e)  
{ 
    var self = this; 
    var first, last, head; 
  
    self.insert = function (value) { 
        var node = new Node(value); 
        if (first == null) { 
            first = last = node; 
        } else { 
            var head = first; 
            while (head.next != null) { 
                head = head.next; 
            } 
            head.next = node; 
            last = head.next; 
        } 
    } 
    self.show = function () { 
        var head = first; 
        while (head != null) { 
            console.log(head.value); 
            head = head.next; 
        } 
    } 
    var Node = function (value) { 
        this.value = value; 
        var next = {}; 
    } 
    return self; 
}; 
  
var list_1 = new list(); 
var list_2 = new list(); 
var str = "(Я [ хочу {программировать} на ] JavaScript)"; 
for (var i=0; i<str.length; i++) 
    if(str[i].indexOf('(') + 1 > 0 || str[i].indexOf('[') + 1 > 0 || str[i].indexOf('{') + 1 > 0) 
        list_1.insert(str[i]); 
    else if(str[i].indexOf(')') + 1 > 0 || str[i].indexOf(']') + 1 > 0 || str[i].indexOf('}') + 1 > 0) 
        list_2.insert(str[i]); 
console.log("____________________________"); 
list_1.show(); 
console.log("____________________________"); 
list_2.show(); 
console.log("____________________________");

READ ALSO
Bootstrap4 - динамическая форма в модальном окне и JS

Bootstrap4 - динамическая форма в модальном окне и JS

Bootstrap 4По клику на ссылку делается get запрос, пришедший ответ в виде html формы выводится в модальном окне #myModal

140
react-google-maps обновление точек маршрута (Waypoints in directions)

react-google-maps обновление точек маршрута (Waypoints in directions)

Подскажите как реализовать событие по нажатию кнопки - обновление маршрута между пинами(маркерами), реализовал динамическое наполнение...

179
Раскрывающееся меню на чистом js

Раскрывающееся меню на чистом js

Можно ли на чистом js сделать меню (ну или что-то подобное), что будет раскрываться при щелчке по элементу и закрываться, при щелчке по любому...

180