獲取單鏈表的節點個數(如果是帶頭節點的鍊錶,需求不統計頭節點)
/**
* * @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,元素為...