題目:合併兩個排序好的陣列,要求新陣列也是有序的
分析:假設兩個陣列為a和b,新陣列為c。a和b的元素比較,小的放在c中,並且指標+1。臨界條件很重要:假設a的指標越界(退出迴圈的條件),那麼b的指標肯定沒有越界(為什麼?看**),並且b未比較的元素一定比a所有元素大(a指標都越界了,說明a最後乙個元素進入新陣列了,說明這個元素比b某個元素小),所以直接將b剩下的元素新增到c中。
**:
public class solution else
i++;
}// 此時,一定有某個陣列的數全部比較完了,一定有乙個陣列還有數沒比較,並且這些數比
// 另乙個陣列大
while (a < a.length)
while (b < b.length)
return result;
}}
合併兩個排序鍊錶 LintCode
描述 將兩個排序鍊錶合併為乙個新的排序鍊錶。樣例 給出1 3 8 11 15 null,2 null,返回1 2 3 8 11 15 null。思路 這道題其實跟上一道鍊錶的插入排序是親兄弟啊,在鍊錶的插入排序裡面我們自己建立了新的鍊錶dummy用來存放我們的排好序的鍊錶,這道題裡給出的兩條鍊錶都是...
LintCode 合併兩個排序鍊錶
將兩個排序鍊錶合併為乙個新的排序鍊錶 樣例給出 1 3 8 11 15 null,2 null,返回 1 2 3 8 11 15 null。definition for listnode.public class listnode 如果兩個鍊錶任一為空,則返回另乙個。如果都為空,直接返回空。定義乙個...
LintCode 165合併兩個排序鍊錶
題目鏈結 將兩個排序鍊錶合併為乙個新的排序鍊錶 樣例給出1 3 8 11 15 null,2 null,返回1 2 3 8 11 15 null。空間複雜度o 1 時間複雜度o m n m n分別為鍊錶l1和鍊錶l2的長度 definition of listnode class listnode ...