输入 N个单词,建个单链表,然后从头节点开始遍历输出(递归实现) 例如输入: 3. one atwO. three 输出 Three two one
时间: 2024-03-20 12:44:07 浏览: 31
好的,这是一个简单的链表操作,我可以帮你实现。你可以先输入一个整数N表示单词的数量,然后再输入N个单词,我们将这些单词存储在一个单链表中,然后递归输出它们。
以下是 C++ 代码实现:
```cpp
#include <iostream>
#include <string>
using namespace std;
class ListNode {
public:
string val;
ListNode* next;
ListNode(string val) : val(val), next(nullptr) {}
};
ListNode* buildLinkedList(int n) {
if (n == 0) {
return nullptr;
}
string word;
cin >> word;
ListNode* node = new ListNode(word);
node->next = buildLinkedList(n-1);
return node;
}
void printLinkedList(ListNode* node) {
if (node == nullptr) {
return;
}
printLinkedList(node->next);
cout << node->val << " ";
}
int main() {
int n;
cin >> n;
ListNode* head = buildLinkedList(n);
printLinkedList(head);
cout << endl;
return 0;
}
```
这段代码中,我们定义了一个 `ListNode` 类表示链表节点。在 `buildLinkedList` 函数中,我们递归地读入单词,并创建一个链表。在 `printLinkedList` 函数中,我们递归遍历链表,并输出单词。注意,我们先递归输出链表的后半部分,再输出当前节点的值,这样就可以实现从头节点开始遍历输出的效果。
你可以尝试输入样例数据,看看代码是否能够正确输出结果。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)