
算法
文章平均质量分 57
wuyilun526
相信因果。
展开
-
从链表中删除重复节点
问题描述(LeetCode): Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list. For example, Given 1->2->3->3->4->4->5, return 1-原创 2015-08-08 20:57:13 · 2336 阅读 · 0 评论 -
链表逆序
链表逆序的关键思路便是:使当前的节点的下一个节点的下一个节点为当前节点,然后当前节点指向空。 抓住这个关键思路,代码就很好弄了。void reverseList(NodeList *head) { if(head->next == NULL) return; NodeList *cur = head; head = head->next; rever原创 2015-08-09 11:58:46 · 448 阅读 · 0 评论 -
数字二进制表示中1的个数
数字二进制表示中1的个数是多少? 当听到这个问题的时候,会有两个声音出现在脑海里: 1、数字的位数的确定。 2、位操作。 假定该数字是32位的整数,那么剩下的就是位操作了。那么该怎么位操作法呢? 第一想到的便是,把数字右移32次,和1做与运算,这是最简单直接的思路。然而这里有一个地方要注意,如果数字是负数呢?会有什么影响?其实有没有影响,要看你的程原创 2015-08-15 15:51:15 · 1295 阅读 · 0 评论 -
二叉树的最小公共祖先问题
今天做了两个二叉树的题目, 挺简单的, 不用调试, 直接在提交框上敲完提交, 直接就通过了. 第一个题目是求二叉查找树的公共祖先, 因为是排序的, 所以很好做. 具体思路如下: 1 如果两个节点都比当前节点小, 那公共祖先必然是当前节点的左子树上, 所以递归左子树; 2 如果两个节点都比当前节点大, 那么同上, 递归右子树; 3 如果两个节点有一个为当前节点, 则当前节点为公共节点; 如原创 2015-08-07 00:03:38 · 4226 阅读 · 3 评论