Преобразовать разделенные запятыми строки в JSON

Черепаха и заяц

Взгляните на алгоритм Роллара Полларда . Это не совсем та же проблема, но, может быть, вы поймете ее логику и примените ее к связанным спискам.

(если вы ленивы, вы можете просто проверить обнаружение цикла - проверьте часть черепахи и зайца.)

Для этого требуется только линейное время и 2 дополнительных указателя.

В Java:

boolean hasLoop( Node first ) {
    if ( first == null ) return false;

    Node turtle = first;
    Node hare = first;

    while ( hare.next != null && hare.next.next != null ) {
         turtle = turtle.next;
         hare = hare.next.next;

         if ( turtle == hare ) return true;
    }

    return false;
}

(Большинство решений не проверяют как для next, так и для next.next для нулей. Кроме того, поскольку черепаха всегда отстает, вам не нужно проверять ее на нуль - заяц сделал это уже. )

-3
задан eibersji 17 January 2019 в 07:23
поделиться

1 ответ

Использование разделения вокруг «,», чтобы отделить слова, а затем снова разделить их «:», чтобы сформировать ключи и значения конечного объекта.

var string = "value:50,type:doctor";
var obj = string.split(",").reduce((acc,ele) => {
                let key = ele.split(":")[0];
                let value = ele.split(":")[1];
                acc[key] = value;
                return acc;
                }, {});
console.log(obj);

0
ответ дан Amardeep Bhowmick 17 January 2019 в 07:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: