判断链表结点对称c++,链表空输出null
时间: 2024-06-17 22:00:58 浏览: 12
判断链表结点是否对称,也称为镜像问题,通常涉及比较链表的两个部分是否左右对称。在C++中,我们可以使用迭代或递归的方法来解决这个问题。这里是一个简单的迭代方法的示例:
```cpp
#include <iostream>
using namespace std;
// 链表节点定义
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
// 判断链表是否对称的辅助函数
bool isSymmetric(ListNode* head) {
if (head == nullptr || head->next == nullptr) { // 空链表或只有一个元素,直接返回
return true;
}
ListNode* slow = head; // 慢指针,每次移动一步
ListNode* fast = head->next; // 快指针,每次移动两步
while (fast && fast->next) { // 只有当快指针还有后继时继续
if (slow->val != fast->val) { // 如果当前值不相等,链表不对称
return false;
}
slow = slow->next; // 慢指针前进一步
fast = fast->next->next; // 快指针前进两步
}
// 如果已经遍历到链表尾部,说明链表是对称的
return true;
}
int main() {
// 示例链表:1->2->2->1
ListNode* head = new ListNode(1);
head->next = new ListNode(2);
head->next->next = new ListNode(2);
head->next->next->next = new ListNode(1);
bool result = isSymmetric(head);
if (result) {
cout << "链表对称" << endl;
} else {
cout << "链表不对称" << endl;
}
return 0;
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)