一.题目:反转链表 题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点. 链表结点定义如下,这里使用的是C#描述: public class Node { public int Data { get; set; } // 指向后一个节点 public Node Next { get; set; } public Node(int data) { this.Data = data; } public Node(int data, Node next) { this.Dat…
思路: 用三个指针preNode.curNode.nextNode完成. #include <iostream> using namespace std; struct ListNode { int val; ListNode *next; ListNode():val(v), next(NULL){} }; ListNode* reverseList(ListNode **pListhead) { //条件不加也不会出错,突出边界测试的想法 if(*pListhead == NULL) re…
面试题16:反转链表 提交网址: http://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca?tpId=13&tqId=11168 或 https://leetcode.com/problems/reverse-linked-list/ Total Accepted: 101523  Total Submissions: 258623  Difficulty: Easy Reverse a singly linked lis…
题目:输入一个链表,反转链表后,输出新链表的表头. 分析:要分清他的前一个节点和后一个节点,开始的时候前节点为null,后节点为head.next,之后,反转. public ListNode ReverseList(ListNode head) { if (head == null) { return null; } if(head.next==null){ return head; } ListNode preNode = null; ListNode currentNode = head;…
面试题 24. 反转链表…
(输入链表的头节点,反转链表) 书中方法:对于一个链表,我们只能从头往后遍历,如果要反转,我们需要更改当前节点的next域指向前一个节点,此时链表断开,为了能继续修改下一个节点的next域,我们还要维护下一个节点. public ListNode reverse(ListNode first){ if(first == null)return first; ListNode last = null; ListNode now = first; ListNode next = first.next…
题目 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 限制: 0 <= 节点个数 <= 5000 注意:本题同[LeetCode]206. 反转链表 思路一:反转链表元素 取出链表中元素放入vector中,然后将vector中元素逆向存入链表中. 遍历链表,用vector存放数组元素. 再次遍历链表,从ve…
问题描述 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 限制: 0 <= 节点个数 <= 5000 代码 这道题与leetcode206.反转链表相同. /** * Definition for singly-linked list. * struct ListNode { * int val; * Li…
// 二维数组中的查找 // 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按 // 照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个 // 整数,判断数组中是否含有该整数. #include <iostream> using namespace std; bool serach_in(int* matrix, int rows, int cols, int number) { bool flag = false; ) && (col…
一.题目 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l". 二.思路 使用LinkedHadshMap统计字符个数,详见代码注释 三.代码 import java.util.LinkedHashMap; import java.util.Map; import java.ut…