Вы хотите сказать, у вас есть Y-образную форму, как это:
песни1: A -> B -> C -> D -> E -> F
песни2: X -> Y - > Z -> E -> F
Где A .. Z - узлы узловых узлов. Мы хотим найти «точку слияния» E, которая определена как первый узел, появляющийся в обоих списках. Это верно?
Если это так, то я бы привязал последний узел списка2 (F) к первому узлу списка2 (X). Это превращает List2 в петлю:
list2: X -> Y -> Z -> E -> F -> X -> ...
Но что еще более важно:
песни1: A - > B -> C -> D -> E -> F -> X -> Y -> Z -> E -> ...
Это уменьшает вопрос до a previously-solved problem, который может быть разрешен в O (n) и O (1) дополнительном хранилище.
Но, читая свой вопрос, еще одна возможность заключается в том, что «слияние» означает «вставить». Таким образом, у вас есть два списка, как это:
песни1: A -> B -> C
песни2: D -> E -> F
, а затем другой полностью отдельный список:
песни3 : A -> B -> D -> E -> F -> C
где это время, A .. F - значения, содержащиеся в списке, а не сами узлы.
Если значения все разные, вам просто нужно найти список3 для D (или для более поздних версий D и A, если вы не знаете, какой список он был скопирован в другой). Это кажется бессмысленным вопросом. Если значения могут быть повторены, то вам нужно проверить полную последовательность list2 внутри list3. Но только потому, что вы находите «DEF», это не значит, что здесь был вставлен список2 - возможно, «DEF» уже несколько раз встречался в списке1, и вы только что нашли первый из них. Например, если я вставляю «DEF» в «ABCDEF», а результатом является «ABCDEFDEF», то я вставлял ли я индекс 3 или индекс 6? Невозможно сказать, поэтому на вопрос нельзя ответить.
Итак, в заключение, я не понимаю вопроса. Но я мог бы ответить на него в любом случае.
Я думаю, нам нужно разъяснить: Является ли один список полностью содержится внутри другого, или сделать два отдельных списка присоединиться, как объятия Y ? –
@carl .. второй связанный список объединяется в первый «в какой-то момент». этот clearlt поясняет, что второй связанный список вставляется в первый в какой-то точке посередине. Этого недостаточно? – Vijay