解析:題目要求很簡單 ,反轉乙個單鏈表。乙個比較簡單的思路就是頭插法,依次去下鍊錶,然後插入到新鍊錶的頭結點的下乙個。由於題目沒有定義頭結點,為了操作方便,定義兩個空頭結點指向鍊錶。只需要遍歷一次鍊錶,所以時間複雜度為o(n)
**如下:
/**
* definition for singly-linked list.
* struct listnode
* };
*/class solution
if(head->next==null)
listnode *h = new listnode(0);
listnode *newh = new listnode(0);
h->next=head;
listnode *p = head;
while(p!=null)
head = newh->next;
return head;
}};
第三週作業
實驗作業 1.輸入課本各個例題,除錯執行程式,並分析程式,將每乙個程式改寫2到3個版本,自己分析程式結果,然後再除錯執行,核對分析結果的對錯。2.編寫程式輸入乙個三角形的三條邊,計算其面積和周長 3.編寫程式計算並輸出課本本章習題3表示式的值並分析結果。4.編寫乙個程式,輸入乙個一元二次方程的三個係...
第三週作業
要求 1.輸入課本各個例題,除錯執行程式,並分析程式,將每乙個程式改寫2到3個版本,自己分析程式結果,然後再除錯執行,核對分析結果的對錯。2.編寫程式輸入乙個三角形的三條邊,計算其面積和周長 3.編寫程式計算並輸出課本本章習題3表示式的值並分析結果。4.編寫乙個程式,輸入乙個一元二次方程的三個係數,...
第三週作業
第一題 輸入課本各個例題,除錯執行程式,並分析程式。例1 include using namespace std int main 例8 includeusing namespace std int main else cout this is not a endl return 0 第三題 編寫程...