首页 > 编程语言 > 详细

常见简单面试算法

时间:2019-06-20 21:36:44      阅读:115      评论:0      收藏:0      [点我收藏+]

1>反转列表

 
public class Node {
      int value;
      Node next;
   }

   public Node reverse(Node head) {
         Node pReversedHead = null; //反转过后的单链表存储头结点
         Node before = null;
      while (head != null) {

         Node after = head.next;

         if (after == null) {
            pReversedHead = head;
         }

         head.next = before;
         before = head;
         head = after;

      }
      return pReversedHead;
   }

  

 

2>二叉树深度

 public class Node {
      int value;
      Node left;
      Node right;
   }

   public int level(Node root) {

      if(root == null){
         return 0;
      }

      int leftLevel = level(root.left);
      int rightLeve = level(root.right);

      return leftLevel > rightLeve ? leftLevel + 1 : rightLeve + 1;

   }

  

常见简单面试算法

原文:https://www.cnblogs.com/cangqiongbingchen/p/11061233.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!