亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

c++ listnode反轉方法分享

c++
小樊
82
2024-07-24 14:18:13
欄目: 編程語言

在C++中實現鏈表節點的反轉可以通過迭代或遞歸兩種方法來實現。以下是其中一種方法的示例代碼:

#include <iostream>

struct ListNode {
    int val;
    ListNode* next;
    ListNode(int x) : val(x), next(NULL) {}
};

ListNode* reverseList(ListNode* head) {
    ListNode* prev = NULL;
    ListNode* curr = head;
    while (curr != NULL) {
        ListNode* next = curr->next;
        curr->next = prev;
        prev = curr;
        curr = next;
    }
    return prev;
}

void printList(ListNode* head) {
    while (head != NULL) {
        std::cout << head->val << " ";
        head = head->next;
    }
    std::cout << std::endl;
}

int main() {
    ListNode* head = new ListNode(1);
    head->next = new ListNode(2);
    head->next->next = new ListNode(3);
    head->next->next->next = new ListNode(4);

    std::cout << "Original list: ";
    printList(head);

    head = reverseList(head);

    std::cout << "Reversed list: ";
    printList(head);

    return 0;
}

該示例代碼中定義了一個節點結構體ListNode,并實現了reverseList函數來反轉鏈表。通過調用reverseList函數并打印結果,可以看到鏈表節點的順序被成功反轉。

0
梁河县| 鱼台县| 马龙县| 河池市| 郓城县| 施甸县| 柳林县| 罗山县| 荔浦县| 昌平区| 东平县| 武胜县| 华蓥市| 洛扎县| 辛集市| 托克逊县| 海兴县| 金华市| 红桥区| 陕西省| 广东省| 明水县| 怀柔区| 汉阴县| 东平县| 玛多县| 汤阴县| 南投市| 资中县| 奎屯市| 彭山县| 车致| 蓬安县| 壶关县| 沅江市| 黄陵县| 通化县| 高青县| 自贡市| 班戈县| 革吉县|