資料結構 反轉單向鍊錶和雙向鍊錶

2021-07-16 07:44:18 字數 1020 閱讀 7049

程式設計師**面試指南(左程雲)讀書筆記

第三章反轉單向鍊錶和雙向鍊錶

//單向鍊錶

public class node  }

public class returnlist 

public static node relist(node head)

//逆序後的第乙個節點

node pre=null;

node next=null;

while(head!=null)

return pre; }

}//雙向鍊錶

public class doublenode  }

public class returndoublelist 

public static doublenode reverlist(doublenode head)

return pre; }

}

反轉部分單向鍊錶

給定乙個單向鍊錶的頭節點head,以及兩個整數from和to,在單向鍊錶上把第from個節點到to個節點這部分進行反轉

例如:1->2->3->4->5->null  ,  form=2  to=4

反轉後: 1->4->3->2->5->null

public class node  }

package com.chen.homework;

public class returnsomelist 

public static node returnsomenode(node head,int from,int to)

if(from>to || from<1 || to>len)

node1=fpre==null?head:fpre.next;

node node2=node1.next;

node1.next=tpos;

node next=null;

while(node2!=tpos)

if(fpre!=null)

return node1; }

}

反轉單向和雙向鍊錶

package class 03 反轉單向和雙向鍊錶 題目 分別實現反轉單向鍊錶和反轉雙向鍊錶的函式。要求 如果鍊錶長度為n,時間複雜度要求為o n 額外空間 複雜度要求為o 1 public class code 07 reverselist public static node reversel...

反轉單向和雙向鍊錶

package practice 反轉單向和雙向鍊錶 題目 分別實現反轉單向鍊錶和反轉雙向鍊錶的函式 要求 如果鍊錶長度為n,時間複雜度要求為o n 額外空間複雜度要求為o 1 author colin.chen public class revisenode public static node ...

反轉單向和雙向鍊錶

說明 本文是左程雲老師所著的 程式設計師面試 指南 第二章中 反轉單向和雙向鍊錶 這一題目的c 復現。本文只包含問題描述 c 的實現以及簡單的思路,不包含解析說明,具體的問題解析請參考原書。感謝左程雲老師的支援。題目 分別實現反轉單向鍊錶和反轉雙向鍊錶的函式。要求 如果鍊錶長度為 n,時間複雜度要求...