zoukankan      html  css  js  c++  java
  • 【leetcode】【单链表】【24】Swap Nodes in Pairs

    #include<iostream>
    using namespace std;
    
    struct ListNode {
    	int val;
    	ListNode *next;
    	ListNode(int x) : val(x), next(NULL) {}
    };
    
    class Solution {
    public:
    	ListNode* swapPairs(ListNode* head) {
    		if (head==NULL || head->next==NULL)
    			return head;
    		
    		ListNode* first = head;
    		ListNode* second = first->next;
    		first->next = second->next;
    		second->next = first;
    		head = second;
    		ListNode* preFirst = first;
    		first = first->next;
    		if (first) //注意
    			second = first->next;
    		while (first&&second){
    			first->next = second->next;
    			second->next = first;
    			preFirst->next = second;
    
    			preFirst = first;
    			first = first->next;
    			if (first)//注意
    				second = first->next;
    		}
    		return head;
    
    	}
    	ListNode* createList(ListNode* head){
    		int numOfNode;
    		int value;
    		cout << "please input number of listNode:";
    		cin >> numOfNode;
    		cin >> value;
    		head = new ListNode(value);
    		ListNode* cur = head;
    		for (int i = 1; i < numOfNode; ++i){
    			cin >> value;
    			ListNode* temp = new ListNode(value);
    			cur->next = temp;
    			cur = temp;
    		}
    		return head;
    	}
    	void printNode(ListNode* head){
    		ListNode* cur = head;
    		while (cur){
    			cout << cur->val << " ";
    			cur = cur->next;
    		}
    		cout << endl;
    	}
    };
    
    int main(){
    	Solution solution;
    
    	ListNode* head = NULL;
    	head = solution.createList(head);
    	solution.printNode(head);
    
    	head = solution.swapPairs(head);
    	solution.printNode(head);
    	system("pause");
    	return 0;
    }

  • 相关阅读:
    从B树、B+树、B*树谈到R 树
    平衡二叉树、B树、B+树、B*树
    数据库事务和四种隔离级别
    python 安装surprise库解决 c++tools错误问题
    python的sorted函数
    爬虫出现gbk错误
    Windows下Python安装numpy+mkl,Scipy和statsmodels
    Flask--框架及路由
    flask常见面试题
    RE正则表达式
  • 原文地址:https://www.cnblogs.com/ruan875417/p/4558318.html
Copyright © 2011-2022 走看看