Algorithm
- What:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。
How:这是一道典型的利用双指针法解题。首先让指针first指向头节点,然后让其向后移动n步,接着让指针sec指向头结点,并和first一起向后移动。当first的next指针为NULL时,sec即指向了要删除节点的前一个节点,接着让first指向的next指针指向要删除节点的下一个节点即可。
- Key Codes
class Solution { public ListNode removeNthFromEnd(ListNode head, int n) { ListNode p = new ListNode(-1); p.next = head; ListNode first = p; ListNode sec = p; while (first != null && n > -1) { first = first.next; n--; } while (first != null) { first = first.next; sec = sec.next; } sec.next = sec.next.next; return p.next; }}
Review
Tip
- What PLSQL使用技巧
快捷输入SQL语句,例如输入s,按下空格,自动替换成SELECT;再例如,输入sf,按下空格,自动替换成SELECT * FROM,非常方便,节省了大量的时间去编写重复的SQL语句。 设置方法:菜单Tools --> Preferences --> Editor --> AutoReplace.(勾选) --> Edit 编写相应的txt文件,将其放到plsql 的安装目录下即可,语法规则(例):s=SELECT。