实例要求:
- 1、给定单链表的头节点 head;
- 2、请反转链表;
- 3、最后返回反转后的链表;
案例展示:

实例分析:
- 1、入参合理性检查,即head != NULL || head->next != NULL;
- 2、while循环遍历单链表;
- 3、将第二个数据节点依次头插到第一个数据节点前即可;
示例代码:
	/**
	 * Definition for singly-linked list.
	 * struct ListNode {
	 *     int val;
	 *     struct ListNode *next;
	 * };
	 */
	struct ListNode* reverseList(struct ListNode* head) {
	
	    if(head == NULL || head->next == NULL){
	        return head;
	    }
	
	   
	
	    struct ListNode *p = head;
	    struct ListNode *q = p->next;
	 
	    p->next = NULL;
	 
	    while(p){
	 
	        p = q->next;
	        q->next = head;
	        head = q;
	        q = p;
	 
	    }
	
	    return head;
	
	}
运行结果:

 






![[C++] opencv + qt 创建带滚动条的图像显示窗口代替imshow](https://img-blog.csdnimg.cn/direct/6ca40f23936248aba94e3be52a55eb81.png)












