算法题3
时间复杂度:循环执行n次,每次花费常数的时间代价,即O(n)、空间复杂度:常数个变量作为辅助空间,即O(1);
class Solution{
public int climbStairs(int n){
int p = 0, q = 0, r = 1;
for(int i = 1; i <= n ; i++){
p = q;
q = r;
r = p + q;
}
return r;
}
}
6.合并两个有序链表:
class Solution{
public ListNode mergeTwoLists(ListNode l1, ListNode l2){
ListNode prehead = new ListNode(-1);
ListNode prev = prehead;
while(l1 != null && l2 != null){
if(l1.val < l2.val){
prev.next = l1;
l1 = l1.next;
}else{
prev.next = l2;
l2 = l2.next;
}
prev = prev.next;
}
prev.next = l1 == null ? l2 : l1;
return prehead.next;
}
}