366 Fibonacci
題目最初五辽、最容易想到的解法是利用遞歸富岳,即(fibonacci(n-1) + fibonacci(n-2))
进副,這種解法會在提交的時候報(bào)時間復(fù)雜度過高民轴。
因此只能用按照題目中的書面意思翻譯成代碼的方式寫出答案解滓。
public int fibonacci(int n)
{
int a = 0;
int b = 1;
int temp;
for (int i = 1; i < n; i ++)
{
temp = b;
b = a + b;
a = temp;
}
return a;
}
452 Remove Linked List Elements
題目最容易想到的是其一般情況咱士,即需要移除非頭部的元素立由≡觯基本方法就是遍歷LinkedList,如果下一個元素的值等于需要移除的值锐膜,就把本元素的next指針指向下下個元素毕箍。
對于特例情況,可以在LinkedList頭部再加一個dummy的元素道盏,指向head而柑,最后返回的時候,將dummy.next
返回回去荷逞。
public ListNode removeElements(ListNode head, int val)
{
ListNode dummy = new ListNode(0);
dummy.next = head;
head = dummy;
while (head.next != null)
{
if (head.next.val == val)
{
head.next = head.next.next;
}
else
{
head = head.next;
}
}
return dummy.next;
}
463 Sort Integers
用任意一個排序算法即可