<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          圖解 Google 筆試:刪除鏈表結(jié)點(挺難的)

          共 1125字,需瀏覽 3分鐘

           ·

          2021-09-30 12:07

          大家好,我是道哥。今天,我們來看一道谷歌筆試的題目。原題是英文陳述的,翻譯過來后如下:
          有一個足夠長的單鏈表,并且頭指針未知。靠近中間位置附近有一個結(jié)點,指針是p,請把該結(jié)點刪除。
          單鏈表刪除結(jié)點何其容易啊,但是,谷歌會出這么簡單的題目嗎?可別忘了題目的限制:不知道頭指針。

          一. 單鏈表刪除操作

          首先,得搞清楚什么是單鏈表,這個問題很簡單啊,來看看動圖就明白了,這些水果都是我愛吃的。
          這些水果,你應該都認識吧:西瓜??,蘋果??,梨??,橙子??,香蕉??,我天天買,也挺耗費錢的。

          單鏈表的動圖


          接下來,我們看看什么叫刪除當前結(jié)點,比如,我們要把梨子??從單鏈表中刪除,動圖如下:

          單鏈表結(jié)點刪除的動圖


          很顯然,要刪除梨子??,就得把前面的蘋果??和后面的橙子??連接上,這樣才能形成刪除后的鏈表。

          可是,現(xiàn)在的問題是:不知道單鏈表的頭指針,所以也就沒法知道蘋果??的指針,所以看來要歇菜了。

          貌似無解,當時筆試時,我也曾自言自語,這不是在戲弄我嗎?于是我寫下了:Impossile(不可能)。


          二. 擺脫僵化的思維

          我當然也知道,谷歌不會那么無聊,還是來看看題目的解法吧。原始的單鏈表如下,待刪除的結(jié)點為p:

          再看仍是沒有思路啊。沒關(guān)系,我們來看看刪除后的預想結(jié)果:


          總之,目的就是要留下:100, 200, 300, 400.  那么可以這樣去考慮,先把p結(jié)點的值改一下:

          p->data = p->next->data;


          然后考慮把p后面的結(jié)點刪除就行,這很容易吧!操作步驟和結(jié)果如下:
          q = p->next;
          p->next = p->next->next;

          free(q);

          這樣就達到目的了,看似不可能的事情,結(jié)果又可能了。谷歌、微軟之類的公司,就喜歡問類似的問題。


          跳出思維的局限很重要,要擁有創(chuàng)造性思維,也就是我們常說的:Think outside the box. 順便來回顧一下當時的思維局限,以為是一定要刪除梨子??這個結(jié)點呢:


          這篇文章并不難,關(guān)鍵還是在于思路。我們也會一步一個腳印,爭取每篇文章講清講透一件事,也希望大家閱讀后有所收獲,心情愉快。

          你好,我是道哥,CSDN前30名,曾混跡于BAT大廠。公眾號講解計算機基礎(chǔ)、網(wǎng)絡、數(shù)據(jù)結(jié)構(gòu)、算法、C++、Java、Golang等多方面的編程知識。歡迎點擊如下名片關(guān)注道哥,感謝點贊和在看支持哦。

          朋友,點個“贊”和“在看”鼓勵下唄

          瀏覽 51
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  色婷婷视频观看 | 99无码视频。 | 在线不欧美 | 四虎黄色网址 | 干屄视频在线观看 |