两条有序链表 合并成一条有序链表
合并有序链表
1 | /** |
测试
1 | int[] a = { 1, 4, 5, 8, 9 }; |
运行结果:
1 | head-->1-->4-->5-->8-->9 |
颠倒上面的数组的循序:
1 | int[] b = { 1, 4, 5, 8, 9 }; |
再次运行:
运行结果:
1 | head-->2-->3-->6-->7-->10-->11-->12 |
1 | /** |
1 | int[] a = { 1, 4, 5, 8, 9 }; |
运行结果:
1 | head-->1-->4-->5-->8-->9 |
颠倒上面的数组的循序:
1 | int[] b = { 1, 4, 5, 8, 9 }; |
再次运行:
运行结果:
1 | head-->2-->3-->6-->7-->10-->11-->12 |
1 | /** |
今天我调整了Path环境变量的顺序,当我想再次编辑Path环境变量的时候,显示的不是列表,而是一个文本框:
这是因为Path环境变量的第一个地址以%开头造成的
全选,复制path的值。
1 | %JAVA_HOME%\bin;%NVM_HOME%;%NVM_SYMLINK%;%NVM_HOME%\nodejs\node_global;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\\Users\\haha\AppData\Local\Microsoft\WindowsApps;F:\Program Files (x86)\NetSarang\Xshell 7\;E:\dev2\mysql5.58\mysql5.5.8\bin;E:\快捷方式;F:\Program Files (x86)\NetSarang\Xftp 7\;F:\Program Files\scrcpy-win64-v1.18;F:\Program Files\Graphviz\bin;G:\Program Files\Microsoft VS Code\bin;G:\Program Files\Git;G:\dev2\idea_workspace\HexoTools\runable;G:\Program Files\Git\cmd;G:\apache-tomcat-8.5.35\bin; |
打开一个文本编辑软件,把;
替换成;\n
,然后把百分号开头的移动到最后面:
1 | C:\Windows\system32; |
最后再把;\n
,替换成;
:
1 | C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\\Users\\haha\AppData\Local\Microsoft\WindowsApps;F:\Program Files (x86)\NetSarang\Xshell 7\;E:\dev2\mysql5.58\mysql5.5.8\bin;E:\快捷方式;F:\Program Files (x86)\NetSarang\Xftp 7\;F:\Program Files\scrcpy-win64-v1.18;F:\Program Files\Graphviz\bin;G:\Program Files\Microsoft VS Code\bin;G:\Program Files\Git;G:\dev2\idea_workspace\HexoTools\runable;G:\Program Files\Git\cmd;G:\apache-tomcat-8.5.35\bin;%JAVA_HOME%\bin;%NVM_HOME%;%NVM_SYMLINK%;%NVM_HOME%\nodejs\node_global; |
再粘贴会path的文本框即可。
还需要注意的是,直接粘贴,可能不会改变Path的值,应该先删除path的值,清空里面的内容,再进行粘贴。
这样再次编辑path显示的就是列表形式的了:
1 | /** |
最后.next==null
),倒数第二.next==null
),1 | /** |
原来的链表
创建新链表的头指针和尾指针
在旧链表中查找倒数第二个节点,并通过倒数第2个节点得到倒数第1个节点
断开原来链表中尾节点
原来链表中的尾节点作为新链表的头节点以及尾节点
再次查找出旧链表的倒数第二个节点
断开旧链表的最后一个节点
摘下的节点连接到新链表的尾部
新插入的节点作为新链表的尾节点
查找旧链表中倒数第二个节点
10:摘下最后一个节点
11:摘下的节点连接到新链表的尾部
12:新节点作为尾节点
13:查找链表中倒数第2个节点
14:摘下旧链表中的最后一个节点
15:新节点连接到新链表的尾部
16:新节点作为新链表的尾节点
17:倒数第1,倒数第2指针置空
18:旧链表的头节点连接到新链表的尾部
19:设置新插入的节点为尾节点,然后断开旧链表的头指针与该节点的连接。
20:得到反转之后的新链表