我的刷題日記(9)

2021-09-27 13:43:00 字數 777 閱讀 8135

輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。

function nodelist(x) 

const arr1 = [1,2,3,4,5,6]; // 鍊錶節點的值

function getnodelist(arr)

const root = new nodelist(arr[0]);

let p = root;

for (let i = 1; i< arr.length;i++)

return root;

}

第一種方法思路:

找出一共有多少個節點

倒數第k個是正數第幾個?

function findkthtotail(head, k)

let p = head;

let num = 0;

while(p !== null)

if (k > num)

p = head;

for(let i = 0;i第二種方法思路:

定義兩個指標讓它們相差k個節點

當前乙個指標指向null當的時候說明前乙個指標就指向了倒數第k個節點

function findkthtotail(head, k)

let p = head;

let q = head;

for (let i = 0 ;iq = q.next;

}while(q !== null)

return p;

}

我的刷題日記(6)

題目描述 輸入乙個整數,輸出該數二進位制表示中1的個數。其中負數用補碼表示。首先得清楚怎麼求乙個整數的二進位制?什麼是原碼,反碼,補碼?比如用四位的二進位制數表示1 則為0001 正數的原碼 第一位是0 符號位 表示正數0001 負數的原碼 第一位是1表示負數。1001 正數的 原碼 反碼 補碼 負...

我的刷題日記(12)

輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,使得他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。方法一 思路 先找出陣列中和等於sum的每一對,放在乙個陣列裡。比如 1,9 2,8 5,5 然後找出乘積最小的那一對 function findnumberswithsu...

我的刷題日記(13)

組合語言中有一種移位指令叫做迴圈左移 rol 現在有個簡單的任務,就是用字串模擬這個指令的運算結果。對於乙個給定的字串行s,請你把其迴圈左移k位後的序列輸出。例如,字串行s abcxyzdef 要求輸出迴圈左移3位後的結果,即 xyzdefabc 是不是很簡單?ok,搞定它!function lef...