交換鍊錶中相鄰的元素

2021-09-30 20:27:13 字數 1117 閱讀 7898

成對交換鍊錶中相鄰的元素

直接交換鍊錶中兩個元素值,給元素交換賦值,而不用改變指標方向;但是這種方法中當單個節點中有很多欄位的時候(比如:name,age,***),效率較低!

package suanfa.warppairs;

/** * @description:兩兩交換鍊錶中相鄰節點

* 通過直接交換元素值,不改變指標方向的方式,需要輔助空間o(1)

* @author: fangct

* @create: 2019-01-24 10:55

* */

public

class

/** * 交換邏輯

* @param head

* @return

*/public

(mynode head)

return head;

}public

static

void

printnode

(mynode head)}}

class

mynode

public

mynode

(int val, mynode next)

}

通過改變指標方向,來交換元素

package suanfa.warppairs;

/** * @description:成對交換兩個鍊錶中相鄰兩個元素

* @author: fangct

* @create: 2019-01-24 10:19

* */

public

class

public

static node swarpnodepairs

(node head)

return dummy.next;

}public

static

void

printnode

(node head)}}

class

node

public

node

(int val, node next)

}

最終結果:2,1,4,3,6,5

單鏈表交換相鄰元素

include include typedef struct node node 交換相鄰的元素,如果是交換兩結點的值就很簡單,但是交換結點的話就。以下是交換結點。如 1 2 3 4 5 2 1 4 3 5 node swapadjacent node head1 return head1 建立列表...

lintcode 鍊錶 刪除鍊錶中的元素

刪除鍊錶中等於給定值val的所有節點。給出鍊錶 1 2 3 3 4 5 3,和 val 3,你需要返回刪除3之後的鍊錶 1 2 4 5 判斷鍊錶是否為空,若是,返回null,若不是,進行下一步 判斷鍊錶第乙個結點是否為要刪除的結點,若是,將head指標向後移,若不是,無需操作 定義指標pre,判斷當...

刪除鍊錶中的元素

1 問題描述 刪除鍊錶中等於給定值val的所有節點。給出鍊錶 1 2 3 3 4 5 3,和 val 3,你需要返回刪除3之後的鍊錶 1 2 4 5。2 實現思路 遍歷鍊錶,若值等於val,此結點刪除,否則依次檢驗。3 definition for singly linked list.struct...