【刷题] LeetCode 206リバースリンクリスト

請求

  • リンクリストをリバース
  • ノードの値を変更しません

  • 頭部> 1-> 2-> 3-> 4-> 5-> NULL
  • NULL <-1 <-2 <-3 <-4 <-5 <-head

思考

  • 3つの補助ポインタが提供されています

 

 

実現

1の#include <iostreamの>
 2  使用して 名前空間STDを、
3  
4  構造体ListNode {
 5      INT ヴァル。
6      ListNode * 次の;
7      ListNode(INT X):ヴァル(x)は、次の(NULL){}
 8  }。
9  
10 ListNode * createLinkedList(INT ARR []、int型N){
 11      であれば(N == 0 12          リターンNULL。
13      ListNode *ヘッド= 新しい ListNode(ARR [ 0 ])。
14     ListNode * curNode = ヘッド。
15      のためにINT iが= 1 ; iが<N; I ++ ){
 16          curNode->次= 新しいListNode(ARRは、[I])。
17          curNode = curNode-> 次。
18      }
 19      リターンヘッド。
20  }
 21  
22  空隙 printLinkedList(ListNode * ヘッド){
 23      ListNode * curNode = ヘッド。
24      一方(curNode!= NULL){
 25          COUT << curNode->ヴァル<< " - > ";
26          curNode = curNode-> 次。
27      }
 28      COUT << " NULL " << ENDL。
29      リターン;
30  }
 31  
32  空隙 deleteLinkedList(ListNode * ヘッド){
 33      ListNode * curNode = ヘッド。
34      一方(curNode!= NULL){
 35          ListNode * delNode = curNode。
36          curNode = curNode-> 次。
37          削除delNode。
38      }
 39      リターン;
40  }
 41  
42  クラスソリューション{
 43  公共44      ListNode * reverseList(ListNode * ヘッド){
 45          
46          ListNode *プリ= NULL;
47          ListNode * CUR = ヘッド。
48          一方(CUR!= NULL){
 49              ListNode *次= cur-> 次。    
50              cur->次= プレ。
51              予備= CUR。
52              CUR = 次回。
53          }
 54          リターン事前;
55      }
 56  }。
57  
58  INT メイン(){
 59      int型 ARR [] = { 12345 }。
60      INT N = はsizeof(ARR)/ はsizeofINT )。
61      
62      ListNode *ヘッド= createLinkedList(ARR、N)。
63      printLinkedList(ヘッド)
64      
65      ListNode * HEAD2 = ソリューション()reverseList(ヘッド)。
66      printLinkedList(HEAD2)。
67      
68     deleteLinkedList(HEAD2)。
69      リターン 0 ;
70 }
コードの表示

関連

  • 92リバースリンクされたリストII
  • ソートされたリストからの削除83 Duplicateds
  • 86パーティション一覧
  • 328奇数偶数リンクリスト
  • 2 2つの数値を追加します。
  • 445の追加2つの数II

おすすめ

転載: www.cnblogs.com/cxc1357/p/12635757.html
おすすめ