真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

[LeetCode]24.SwapNodesinPairs

Given a linked list, swap every two adjacent nodes and return its head.

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:國際域名空間、虛擬空間、營銷軟件、網站建設、定海網站維護、網站推廣。

For example,
Given 1->2->3->4, you should return the list as 2->1->4->3.

Your algorithm should use only constant space. You may not modify the values in the list, only nodes itself can be changed.

給定鏈表,每兩個節(jié)點為一組,交換相應節(jié)點。

解題:

1)如果鏈表為空或者鏈表只有一個節(jié)點,則直接返回鏈表

2)取出相鄰兩節(jié)點A,B。并把list往后移動兩次。

3)其實交換兩節(jié)點實質就是交換兩節(jié)點的val值,故進行值交換即可。

說明:

1)list != NULL檢查是防止出現list為NULL時,此時執(zhí)行l(wèi)ist->next會出現段錯誤。

2)list->next != NULL是說明交換的兩個節(jié)點存在。

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
struct ListNode* swapPairs(struct ListNode* head) 
{
    if ( head == NULL || head->next == NULL )
    {   
        return head;
    }
    
    struct ListNode *list = head;
    struct ListNode *swapA = NULL;
    struct ListNode *swapB = NULL;
    while ( list != NULL && list->next != NULL )
    {   
        swapA = list;
        swapB = list->next;
        list = list->next->next;
        
        int val = 0;
        val = swapA->val;
        swapA->val = swapB->val;
        swapB->val = val;
    }
    
    return head;
}

網頁名稱:[LeetCode]24.SwapNodesinPairs
文章起源:http://weahome.cn/article/ihggoj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部