摘要: 题目链接:反转链表 题意: 输入一个链表,反转链表后,输出新链表的表头。 题解:用三个指针,分别指向当前结点,它的前一个结点和后一个结点。 在遍历过程中,将当前结点的尾结点和前一个结点替换。 代码: 1 /* 2 struct ListNode { 3 int val; 4 struct ListN 阅读全文
posted @ 2020-03-02 23:58 甜酒果。 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 题目链接:链表中倒数第k个结点 题意:输入一个链表,输出该链表中倒数第k个结点。 题解:两个指针,让其中一个先走k-1步,那后走的指针,走到倒数第k个时,前面一个就走完了! 代码: 1 /* 2 struct ListNode { 3 int val; 4 struct ListNode *next 阅读全文
posted @ 2020-03-02 23:43 甜酒果。 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 题目链接:调整数组顺序使奇数位于偶数前面 题意:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 题解:两个数组分别存奇偶数,清空原数组,然后全部奇偶丢进原数组。(STL大法好) 阅读全文
posted @ 2020-03-02 23:33 甜酒果。 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 题目链接:数值的整数次方 题意:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0 题解:啊我这个题很暴力啊。当时好像是用java做的。c++也一样的代码。。 分三种情况: 1、指数是0,那么a^0 阅读全文
posted @ 2020-03-02 23:27 甜酒果。 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 题目链接:二进制中1的个数 题意:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 题解: 1、很容易想到每次做&运算,然后判断结果是否为0来判断是否有1。 2、去讨论区看了下第一个方法效率太低。 第二个方法就是让每次让n & n-1。我刚开始没懂举了个例子。 n = 1100 11 阅读全文
posted @ 2020-03-02 23:17 甜酒果。 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 题目链接:用两个栈实现队列 题意:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 题解: stack2为空时,用stack1入栈,stack2出栈就是队列的顺序。当stack2不为空时,stack1继续插入的话,就直接先输出2再操作。 代码: class Sol 阅读全文
posted @ 2020-03-02 22:29 甜酒果。 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 题目链接:重建二叉树 题意:根据前序和中序建二叉树 题解:数据结构里大家做前序中序建二叉树的题应该很熟了。这个题就是将思考过程用代码模拟一遍。 前序数组的第一个节点pre[0]就是根节点 ,在中序数组中找到这个根节点,以此划分左子树和右子树。 递归遍历到叶节点即可。 代码: 1 /** 2 * De 阅读全文
posted @ 2020-03-02 21:54 甜酒果。 阅读(151) 评论(0) 推荐(0) 编辑