摘要:
题目描述 输入一个链表,反转链表后,输出新链表的表头。 题解: 每次只反转一个节点,先记住cur->next, 然后pre->cur,即可; 1 class Solution { 2 public: 3 ListNode* ReverseList(ListNode* pHead) { 4 if (p 阅读全文
摘要:
题目描述 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 题解: 使用快慢指针即可,若快慢指针会相遇,则有环,否则快指针先到空节点; 此时,快指针从此处一次移一步遍历,慢指针从头结点开始遍历,两指针再次相遇时即为环的重合节点; 1 class Solution { 2 p 阅读全文
摘要:
题目描述 输入一个链表,输出该链表中倒数第k个结点。 题解: 1、普通解法,先遍历一遍计算链表长度,然后遍历到倒数第k个节点; 2、只遍历一遍,使用双指针,使得头尾指针位差为k,那么当尾指针为空时,头指针就是倒数第k个位置。 1 //遍历两次,垃圾 2 class Solution01 { 3 pu 阅读全文
摘要:
题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 题解: 一种是数字的相对位置不变,即1,2,3,4 -》 1,3,2,4 这样只能使用额外空间了,牛客题解就是这个 1 阅读全文
摘要:
题目描述 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。 题解: 表示数值的字符串遵循模式A[[B 阅读全文