leetcode题目:Sum Root to Leaf Numbers和Longest Consecutive Sequence

题目一:

Given a binary tree containing digits from 0-9 only, each root-to-leaf
path could represent a number.

An example is the root-to-leaf path 1->2->3 which represents the number 123.

Find the total sum of all root-to-leaf numbers.

For example,

    1
   /   2   3

The root-to-leaf path 1->2 represents the number 12.

The root-to-leaf path 1->3 represents the number 13.

Return the sum = 12 + 13 = 25.

代码:

/**
 * Definition for binary tree
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    int sumNumbers(TreeNode *root)
	{
        if (root==NULL)
        {
			return 0;
        }
		int value = 0;
		int sum   = 0;
		preOrder(root,value,sum);
		return sum;
    }
private:
	int preOrder(TreeNode* root,int & value,int& sum)
	{
		if (root!=NULL)
		{
			value = value * 10;
			value += root->val;
			int revalue = IsHaveLWNode(root);
			if (revalue==0)
			{
				sum+=value;
			}
			preOrder(root->left,value,sum);
			preOrder(root->right,value,sum);
			value = value / 10;
			return 0;
		}
		return 0;
	}
	int IsHaveLWNode(TreeNode* node)
	{
		if (node->left&&node->right)
		{
			return 1;
		}
		else if (node->left)
		{
			return 2;
		}
		else if (node->right)
		{
			return 3;
		}
		else
		{
			return 0;
		}

	}
};

题目二:

Given an unsorted array of integers, find the length of the longest consecutive elements sequence.

For example,

Given [100, 4, 200, 1, 3, 2],

The longest consecutive elements sequence is [1, 2, 3, 4]. Return its
length: 4.

Your algorithm should run in O(n) complexity.

代码:

class Solution {

public:

int longestConsecutive(vector<int> &num)

{

if(num.empty())

{

return 0;

}

int size = num.size();

sort(num.begin(),num.end());

int precount = 1;

int curcount = 1;

for(int i = 1;i<size;i++)

{

if(num[i]==num[i-1]+1)

{

curcount++;

}

else  if (num[i]!=num[i-1])

{

if (curcount>precount)

{

precount = curcount;

}

curcount = 1;

}

}

if(precount>curcount)

{

curcount = precount;

}

return curcount;

}

};

leetcode题目:Sum Root to Leaf Numbers和Longest Consecutive Sequence

时间: 2024-10-23 07:01:06

leetcode题目:Sum Root to Leaf Numbers和Longest Consecutive Sequence的相关文章

LeetCode OJ - Sum Root to Leaf Numbers

这道题也很简单,只要把二叉树按照宽度优先的策略遍历一遍,就可以解决问题,采用递归方法越是简单. 下面是AC代码: 1 /** 2 * Sum Root to Leaf Numbers 3 * 采用递归的方法,宽度遍历 4 */ 5 int result=0; 6 public int sumNumbers(TreeNode root){ 7 8 bFSearch(root,0); 9 return result; 10 } 11 private void bFSearch(TreeNode ro

Leetcode dfs Sum Root to Leaf Numbers

Sum Root to Leaf Numbers Total Accepted: 20237 Total Submissions: 67979My Submissions Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number. An example is the root-to-leaf path 1->2->3 which represents

[C++]LeetCode: 94 Sum Root to Leaf Numbers (先序遍历)

题目: Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number. An example is the root-to-leaf path 1->2->3 which represents the number 123. Find the total sum of all root-to-leaf numbers. For example, 1 / 2

LeetCode[Tree]: Sum Root to Leaf Numbers

Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number. An example is the root-to-leaf path 1->2->3 which represents the number 123. Find the total sum of all root-to-leaf numbers. For example, 1 / \ 2 3

[Leetcode][JAVA] Sum Root to Leaf Numbers

Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number. An example is the root-to-leaf path 1->2->3 which represents the number 123. Find the total sum of all root-to-leaf numbers. For example, 1 / 2 3  

【LeetCode】Sum Root to Leaf Numbers 解题报告

[题目] Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number. An example is the root-to-leaf path 1->2->3 which represents the number 123. Find the total sum of all root-to-leaf numbers. For example, 1 /

Java for LeetCode 129 Sum Root to Leaf Numbers

Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number. An example is the root-to-leaf path 1->2->3 which represents the number 123. Find the total sum of all root-to-leaf numbers. For example, 1 / 2 3 T

【leetcode】Sum Root to Leaf Numbers(hard)

Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number. An example is the root-to-leaf path 1->2->3 which represents the number 123. Find the total sum of all root-to-leaf numbers. For example, 1 / 2 3 T

leetCode(36):Sum Root to Leaf Numbers

Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number. An example is the root-to-leaf path 1->2->3 which represents the number 123. Find the total sum of all root-to-leaf numbers. For example, 1 / 2 3 T