Leetcodeブラシ問題43-206.反転チェーンテーブル(C++詳細解法!!)
3809 ワード
タイトルソース:リンク:[https://leetcode-cn.com/problems/reverse-linked-list/].
206.チェーンテーブルの反転 1.問題の説明 2.マイソリューション 3.オオカミたちの解決策 4.私の収穫 1.問題の説明
単一チェーンテーブルを反転します.例1:
ステップ:
2.私のソリューション
ネット上の資料を探しました:構想は非再帰方式(つまり反復):現在のノードの次のノードtmp=cur->next を先に保存する head->nextドメインはpre を指す. preを先ほどのheadに移動させる headを次のノード(すなわち保存tmpノード)に移動する、次の を行う.
3.オオカミたちの解決策
ガラガラ、転送ドアもリンク:(図文並茂はもっと理解できるよ)[https://blog.csdn.net/Mikeoperfect/article/details/72642583]....
4.私の収穫
がんばってください...自分の头がとても愚かだと感じます!!!
2009/4/2胡雲雲は南京で43
206.チェーンテーブルの反転
単一チェーンテーブルを反転します.例1:
: 1->2->3->4->5->NULL
: 5->4->3->2->1->NULL
ステップ:
。 ?
2.私のソリューション
ネット上の資料を探しました:構想は非再帰方式(つまり反復):
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* reverseList(ListNode* head) {
if(head == NULL || head->next == NULL) // 0 1
{
return head;
}
ListNode* pre = NULL;
ListNode* cur = head;
while(cur != NULL)
{
ListNode* tmp = cur->next; // p ,
cur->next = pre; //p->next
pre = cur; // p,
cur = tmp; //p p
}
return pre;
}
};
3.オオカミたちの解決策
ガラガラ、転送ドアもリンク:(図文並茂はもっと理解できるよ)[https://blog.csdn.net/Mikeoperfect/article/details/72642583]....
4.私の収穫
がんばってください...自分の头がとても愚かだと感じます!!!
2009/4/2胡雲雲は南京で43