php 實現鍊錶的反轉 迭代和遞迴

2021-10-09 06:48:52 字數 694 閱讀 6675

1. 遞迴:思路說明請看 **注釋

/**

* definition for a singly-linked list.

* class listnode

* }*/class solution

// 由於是物件,所以存在值引用

// 即:head的變化會影響到 tmp

$tmp = $this->reverselist($head->next);

// 1->2->3->4->5

// 當 $head = 4, $head->next->next = null

// $head->next->next = $head; 5->4

$head->next->next = $head;

// $head->next = null,

$head->next = null;

return $tmp;

}}

2. 迭代:使用 pre 代表遍歷過的節點、cur 表示當前正在遍歷的節點

/**

* definition for a singly-linked list.

* class listnode

* }*/class solution

return $pre;

}}

反轉鍊錶 遞迴和非遞迴實現

include stdafx.h include include struct node void createlink node head,int data void printlink node head void reverselink node head node reverselink n...

遞迴實現鍊錶的反轉

我對遞迴的理解一直不是非常透徹,這裡想要用遞迴實現鍊錶的反轉,寫的時候發現自己連鍊錶的定義都忘記了 還是 寫得太少了 include stdio.h include include iostream using namespace std struct node node creat int a r...

鍊錶反轉 迭代 遞迴實現 學習遞迴心得

鍊錶反轉可以參考blog 鍊錶翻轉的 講解 遞迴和迭代兩種實現 迭代實現 好懂 node reverselist node head return head 遞迴實現 形式簡單,理解難懂 node rrreverselist node h 對遞迴的一點理解 遞迴即在呼叫函式的時候,預設輸入條件下的函...