Question d'entrevue: la Fusion des deux triés séparément des listes liées, sans créer de nouveaux nœuds

C'est une programmation à la question posée au cours d'une épreuve écrite pour une entrevue.
"Vous avez deux isolés des listes liées qui sont déjà triés, vous avez à les fusionner et de retourner la tête de la nouvelle liste sans créer de nouveaux nœuds supplémentaires. La liste retournée doit être triées"

La signature de la méthode est:
Nœud MergeLists(Nœud de la liste 1, Nœud de la liste 2);

Classe de nœud est ci-dessous:

class Node{
    int data;
    Node next;
}

J'ai essayé de nombreuses solutions, mais pas la création d'un nœud supplémentaire vis les choses. S'il vous plaît aider.

Ici est l'accompagnement d'une entrée de blog http://techieme.in/merging-two-sorted-singly-linked-list/

  • le dernier élément de la liste 1 plus petit que le premier élément de la liste 2?
  • Veuillez noter: j'ai aussi trouvé une solution sur stackoverflow.com/questions/2348374/merging-two-sorted-lists mais ce lors de l'exécution des bâtons dans une boucle infinie.
  • Il peut être n'importe quoi. Les deux listes sont tries et le code doit produire une troisième liste est triée.
  • C'est parce que si le dernier élément de la liste 1 est plus petit que le premier élément de la liste 2, vous pouvez simplement modifier le dernier nœud suivant de la première liste 2 tête de nœud.
  • C'est extrêmement optimiste de penser à ce genre d'entrée que vous obtiendrez.
  • Les listes chaînées sont 1) 1->2->3->4->5 2) 1->2
  • vous devez utiliser deux pointeurs, l'un au point de la première liste et la deuxième à un point de la deuxième liste. vous déplacez les pointeurs un à la fois. aussi, vous devez préciser si ce doit être en place pour une liste ou si la création de la troisième liste ok. dans l'ensemble. de toute façon. facile avec l'aide de deux pointeurs.

InformationsquelleAutor dharam | 2012-05-22