單鏈表的一些題目,面試題

2021-10-14 08:04:46 字數 2161 閱讀 8074

獲取單鏈表的節點個數(如果是帶頭節點的鍊錶,需求不統計頭節點)

/**

* * @methodname: 獲取單鏈表的節點個數(如果是帶頭節點的鍊錶,需求不統計頭節點)

* @description: todo

* @author 63417

* @param head 鍊錶的頭節點

* @return 返回有效節點的個數

* @date 2023年1月9日

*/public

static

intgetlength

(node head)

int length =0;

//定義乙個輔助變數

node cur = head.next;

//這裡沒有統計頭節點

while

(cur != null)

return length;

}

查詢單鏈表的倒數第k個節點

//1編寫乙個方法,接收head節點,同時接收乙個index

//2 index表示是倒數第index個節點

//3 先把鍊錶從頭到尾遍歷,得到鍊錶的總的長度 getlength

//4 得到size後,從鍊錶的第乙個開始遍歷(index - index)個

//5 如果找到了則返回該節點,否則返回null

public

static node findlastindexnode

(node head,

int index)

//第一次遍歷得到鍊錶的長度(節點個數)

int size =

getlength

(head)

;//第二次遍歷 size - index 位置,就是倒數的第k個節點

//先做乙個index的驗證

if(index <=

0|| index > size)

node cur = head.next;

//輔助指標

for(

int i =

0; i < size - index; i++

)return cur;

}

單鏈表的反轉

/**

* 1、先定義乙個節點reversehead = new node();

* 2、從頭到尾遍歷原來的鍊錶,每遍歷乙個節點,就將其取出,並放置新的鍊錶的最前端

* 3、原來的鍊錶的head.next = reversehead.next

*/

public

static

void

reverslist

(node head)

node cur = head.next;

//輔助指標

node next = null;

//指向當前節點【cur】的下乙個節點

node reversehead =

newnode(0

,"",""

);//遍歷原來的鍊錶

while

(cur != null)

//將head.next 指向revershead.next,實現鍊錶的反轉

head.next = reversehead.next;

}

從尾到頭列印單鏈表

public

static

void

reverseprint

(node head)

//建立乙個棧,將各個節點壓入棧

stack

stack =

newstack

<

>()

; node cur = head.next;

//將鍊錶的所有節點壓入棧

while

(cur != null)

//將棧中的節點進行列印,pop出棧

while

(stack.

size()

>0)

}

單鏈表一些面試題的實現

望大家發現問題,可以與我討論 public class l class num public num int n 重寫tostring方法 public string tostring 建立單鏈表 class linked 新增結點 public void add num n temp temp.n...

記錄一些webservice面試題目

2.wsdl web service描述語言,對應.wsdl文件,乙個webservice對應乙個文藝的wsdl文件,定義了客戶端與服務端傳送請求和響應的資料的過程。3.soap是一種簡單的基於 xml的協議,它使應用程式通過 http 來交換資訊,簡單物件訪問協議!4.如何發布乙個webservi...

關於陣列的一些面試題目

1 google面試題 1 乙個陣列存放了2n 1個整數,其中有n個數出現了2次,1個數出現了1次,找出出現1次的數是多少?可能不少人遇到過,但是當時 我是第一次遇到,我把我的經過給大家講一遍 a.由於想在最短時間內解決,我首先想到最簡單的辦法,使用對映統計的辦法,借助輔助陣列 長度為n 1,元素為...