题解 | #求二叉树的深度#

二叉树的深度

http://www.nowcoder.com/practice/435fb86331474282a3499955f0a41e8b

/** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null;

public TreeNode(int val) {
    this.val = val;

}

} */ //递归获取左右子树的深度,取更大者 public class Solution { public int TreeDepth(TreeNode root) { if(root == null) return 0; int left = TreeDepth(root.left); int right = TreeDepth(root.right); return left > right ? left + 1 : right + 1;

}

}/* public class ListNode { int val; ListNode next = null;

ListNode(int val) {
    this.val = val;
}

} */ public class Solution {

public ListNode EntryNodeOfLoop(ListNode pHead) {
    ListNode low = pHead;
    ListNode fast = pHead;
   if(pHead == null ) {
       return null;
   }else{
       low = low.next;
       if(low == null) return null;
        fast = fast.next;
        if(fast == null) return null;
        fast = fast.next;
       if(fast == null) return null;
       
      
       while(low != fast ){
        low = low.next;
       if(low == null) return null;
        fast = fast.next;
        if(fast == null) return null;
        fast = fast.next;
       if(fast == null) return null;
    }
   }    
  
        low = pHead;
        while(low != fast){
        low = low.next;
        fast = fast.next;          
    }                                      
    return low;
}

}

全部评论

相关推荐

04-28 22:33
已编辑
门头沟学院 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务