今天繼續來做一些面試題鞏固自己所學的知識。
1.將兩個鍊錶的值加起來求出新鍊錶。
如:p1:1 2 3 4 5 6. p2:4 5 6 7 8 9.結果是:5 7 9 0 4 6.
舉例:
//尾插函式。
slistnode *listpushback(slistnode **p1,int val)
while(p3->pnext!=null)
p3->pnext=pnew;
return p2;
}//將兩個鍊錶的值加起來組成新的鍊錶。
slistnode *addtwonumbers(slistnode *l1, slistnode *l2)
while(p1!=null && p2!=null)
if(sum>=10)
p3=listpushback(&p3,sum); //此時將和尾插到新的鍊錶。
p1=p1->pnext; //兩個指標往後走。
p2=p2->pnext;
}if(p1!=null)
else if(p2!=null)
return p3; //返回新鍊錶。
}
2.逆置棧。
解析:先定義乙個不受遞迴影響的全域性變數來記錄下標。當棧中不為空時,先遞迴取出棧頂元素,此時i也為它的個數,此後在進行減一,因為陣列從0開始,在讓對應的陣列元素進行替換即可。
//逆置棧用遞迴方法,不能用其它的資料結構。
//如:1 2 3 4 5 逆置為:5 4 3 2 1
int i=0; //全域性變數用來記錄陣列下標
void reversestack(stack *s,int top)
else if(top>0)
}
Vue之面試題
1 說下vue資料雙向繫結的原理 2 說說vuex的作用以及應用場景 3 說說vue元件的資料通訊方式 4 vue的原始碼有看過嗎?說說vuex工作原理 5 為什麼說虛擬 dom會提高效能,解釋一下它的工作原理 6 請你詳細介紹一些 package.json 裡面的配置 7 為什麼說vue是一套漸進...
Java之面試題1
題 大廳裡有100盞燈,每盞燈都編了號碼,分別為1 100。每盞燈由乙個開關來控制。開關按一下,燈亮,再按一下燈滅。開關的編號與被控制的燈相同。開始時,燈是全滅的。現在按照以下規則按動開關。第一次,將所有的燈點亮。第二次,將所有2的倍數的開關按一下。第三次,將所有3的倍數的開關按一下。以此類推。第n...
http協議之面試題
q1 什麼是http socket tcp udp?http 全稱是超文字傳輸協議,是乙個應用層的協議。用於客戶端和服務端之間進行通訊。tcp udp 都是傳輸層協議。tcp是可靠的,我們常說的三次握手連線,四次握手斷開都說 的是tcp,而udp是不可靠的。socket 則是從傳輸層抽象出來的介面層...