📜  打印链表的元素 - C++ (1)

📅  最后修改于: 2023-12-03 14:54:30.435000             🧑  作者: Mango

打印链表的元素 - C++

在C++中,打印链表的元素是一项基本操作。下面介绍几种打印链表元素的方法。

方法一:循环打印

循环打印是最基本的方法,其时间复杂度为O(n),具体代码如下:

void printList(ListNode* head) {
    ListNode* p = head;
    while(p != nullptr) {
        cout << p->val << " ";
        p = p->next;
    }
}
方法二:递归打印

递归打印是一种比较简洁的方法,其时间复杂度也为O(n),具体代码如下:

void printList(ListNode* head) {
    if(head != nullptr) {
        cout << head->val << " ";
        printList(head->next);
    }
}
方法三:栈打印

栈打印是一种利用栈的特性来实现的方法,其时间复杂度为O(n),具体代码如下:

void printList(ListNode* head) {
    stack<ListNode*> stk;
    ListNode* p = head;
    while(p != nullptr) {
        stk.push(p);
        p = p->next;
    }
    while(!stk.empty()) {
        cout << stk.top()->val << " ";
        stk.pop();
    }
}

以上是三种打印链表元素的方法,根据实际情况选择相应的方法即可。