LINTCODE 交換鍊錶當中兩個節點

2021-08-08 07:29:09 字數 685 閱讀 8006

lintcode——交換鍊錶當中兩個節點

說明:主要是考查操作鍊錶,如果直接改變節點的權值就失去了做題的意義,**首先查詢節點所在的位置,然後交換節點,注意有乙個為頭節點的特殊情況;

listnode * swapnodes(listnode * head, int v1, int v2) 

if(curnode -> val == v2)

if(!bv1)

if(!bv2)

curnode = curnode -> next;

}//如果沒找到,直接返回

if( !(bv1 && bv2) )

return head;

//按先後排序v1,v2

if(iv1 > iv2)

//處理節點,注意頭結點的特殊情況

listnode *v2nextnode = v2node -> next;

v2nodepre -> next = v1node;

v2node -> next = v1node -> next;

v1node -> next = v2nextnode;

if(v1node == head)

else

v1nodepre -> next = v2node;

return head;

}};

LintCode 交換鍊錶當中兩個節點

給你乙個鍊錶以及兩個權值v1和v2,交換鍊錶中權值為v1和v2的這兩個節點。保證鍊錶中節點權值各不相同,如果沒有找到對應節點,那麼什麼也不用做。注意事項 你需要交換兩個節點而不是改變節點的權值 您在真實的面試中是否遇到過這個題?yes 樣例給出鍊錶1 2 3 4 null,以及v1 2,v2 4 返...

LintCode 交換鍊錶當中兩個節點

交換鍊錶當中兩個節點 描述 給你乙個鍊錶以及兩個權值v1和v2,交換鍊錶中權值為v1和v2的這兩個節點。保證鍊錶中節點權值各不相同,如果沒有找到對應節點,那麼什麼也不用做。注意事項 你需要交換兩個節點而不是改變節點的權值 樣例給出鍊錶 1 2 3 4 null 以及 v1 2 v2 4 返回結果 1...

LintCode 交換鍊錶當中兩個節點

給你乙個鍊錶以及兩個權值v1和v2,交換鍊錶中權值為v1和v2的這兩個節點。保證鍊錶中節點權值各不相同,如果沒有找到對應節點,那麼什麼也不用做。注意事項 你需要交換兩個節點而不是改變節點的權值 樣例 給出鍊錶 1 2 3 4 null 以及 v1 2 v2 4 返回結果 1 4 3 2 null。就...