Loading...
核心技能null/nil 异常处理dummy node 哑巴节点快慢指针插入一个节点到排序链表从一个链表中移除一个节点翻转链表合并两个链表找到链表的中间节点哑巴节点适用于头节点可能被删除的场景。下面示例代码是哑巴节点用于删除头节点。 ListNode dummy_node = new ListNode(-1); // head节点为头节点。 dummy_node.next = head; ...
Java的非基本类型只能在堆中申请内存,并且由垃圾收集器管理其生命周期。不需要程序员控制其生命周期。C++的非基本类型可以在堆中申请内存,然后由程序员控制其生命周期(手动调用析构函数delete)。也可以在栈中申请内存,由程序栈控制其生命周期,非基本类型对象的生命周期与当前程序栈相同,程序栈空时,会自动调用对象的析构函数。为何Java鼓励在堆中申请内存呢? 为何c++在堆中申请内存如此普遍呢...
一切源于工程实践。防呆设计/权限分级设计尽可能消除导致故障的源头。从根源解决问题。问题的根源有很大一部分是由于人员的误操作。当用户的控制权越来越多时,用户就可能犯错,最终酿成事故。面对这个问题,在工程实践中通常会考虑采用防呆设计(把用户当傻瓜)。即不给用户有犯错的机会,减少其控制权,并且对其控制权有更加严苛的要求,这时候,就减少了事故的发生。如果削减了用户的控制权,用户处理事务的灵活性又会收...
二叉树遍历1.以根访问顺序决定是什么“序”遍历(仅适用于前序,中序,后序)2.左子树优先于右子树(一般遍历均满足此条件)DFS深度优先搜索Depth-First-Search。一种用于遍历或搜索树或图的算法。这个算法会尽可能深的搜索树的分支。一般步骤(非递归方法会用到栈)为首先将根节点放入stack中。从stack中取出第一个节点,并检验它是否为目标。如果找到目标,则结束搜寻并回传结果。否则...
早期的IP地址结构每一个单播地址都由网络号和主机号构成。网络号用于识别接口使用的ip地址在哪个网络中可以被发现;主机号用于识别给出的网络中特定的主机。子网寻址早期的网络号就是网段。网段相同的计算机必须同属一个链路。例如在架构B类IP网络时,理论上允许一个链路内允许6万5千多台计算机。然而在实际网络架构中,一般不存在同一链路上链接如此多的计算机的情况。因此直接使用A类或B类的网络号作为网段是有...