タグ付けされた質問 「singly-linked-list」

30
2つのポインタのみを使用して、単一リンクリストを逆にする方法は?
2つのポインタのみを使用して、単一リンクリストを逆にするロジックが存在するのだろうか。 以下は、すなわち3つのポインタを使用して、単一リンクリストを反転させるために使用されp、q、r: struct node { int data; struct node *link; }; void reverse() { struct node *p = first, *q = NULL, *r; while (p != NULL) { r = q; q = p; p = p->link; q->link = r; } first = q; } リンクされたリストを逆にする他の代替はありますか?時間の複雑さの観点から、単一にリンクされたリストを逆にするための最良のロジックは何でしょうか?

26
インタビューの質問:新しいノードを作成せずに、2つのソートされた単一リンクリストをマージします
これは、面接の筆記試験中に尋ねられるプログラミングの質問です。「すでにソートされている2つの単一リンクリストがあります。それらをマージして、新しい追加ノードを作成せずに新しいリストの先頭を返す必要があります。返されたリストもソートする必要があります。」 メソッドのシグネチャは次のとおりです。NodeMergeLists(Node list1、Node list2); ノードクラスは以下のとおりです。 class Node{ int data; Node next; } 私は多くの解決策を試しましたが、余分なノードを作成しませんでした。助けてください。 付随するブログエントリは次のとおりですhttp://techieme.in/merging-two-sorted-singly-linked-list/
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.